首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >敏捷工具包CRUD

敏捷工具包CRUD
EN

Stack Overflow用户
提问于 2011-12-06 02:42:23
回答 1查看 1.2K关注 0票数 1

我正在测试Agile Toolkit,我不知道我做错了什么。

我有一个名为“家庭”的表格,CRUD可以很好地工作。

另一个名为'subfamilies‘的表,其关系为n对1,与families和CRUD的关系也很好。

但这是我的问题,在表格“文章”中,我与族有1对1的关系,另外还有1对1的子族和CRUD作品,我可以添加、删除和修改,但当单击“添加”按钮时,如果我在表单上选择一个族,子族组合框会显示所有的子族,而不仅仅是来自该族的子族。

如何指定如果选择了某个族,则添加窗体中的组合框仅显示该族的子族亲属?

代码:

File./lib/Model/Armitos.php:

代码语言:javascript
复制
class Model_Articulos extends Model_Table {
public $entity_code  = 'articulos';

    function init(){
        parent::init();

        $this->addField('name')->mandatory(true);
        $this->addField('description')->mandatory(true)->type('text');
        $this->addField('familias_id')->mandatory(true)->refModel('Model_Familias');
        $this->addField('subfamilias_id')->refModel('Model_Subfamilias');

    }
}

文件./page/artikulos.php:

代码语言:javascript
复制
class page_articulos extends Page {
    function init(){
        parent::init();

        $crud=$this->add('CRUD');
        $crud->setModel('Articulos');

        if($crud->grid){
            $crud->grid->getColumn('name');
            $crud->grid->getColumn('familias');    
            $crud->grid->getColumn('subfamilias');    

        }
    }
}

最后,您可以获得mysql workbench eer模型here

先谢谢你,

塞克索兹。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-12-06 07:38:10

从技术上讲,当您定义一个模型时,系列和子系列之间没有子链接,因此您的CRUD不会知道依赖关系。

要做到这一点,您必须充分了解以下两个示例:

  • http://demo.atk4.com/demo.html?t=20
  • http://demo.atk4.com/demo.html?t=22

下一步,创建一个表单,用于添加Articulous的新记录。您将需要使用MVCForm,但必须为子族字段添加一些额外的代码。完成后,您需要将代码转换为一个单独的类,比如从MVCForm继承的Form_Articulos。您的代码应该放在窗体的"setModel“方法中。

接下来,像这样扩展CRUD:

代码语言:javascript
复制
class MyCrud extends CRUD {
    public $form_class='Form_Articulos';
}

新表单将用于编辑和添加。您可能需要做的另一件事是添加模型级别的验证。

代码语言:javascript
复制
class Model_Articulous ... {
    ...


    function beforeUpdate(&$data){

        $family_id=$this->getRef('subfamilias_id')->get('familia_id');
        if($family_id != $this->get('familias_id'))
            throw $this->exception('Subfamily does not belong to selected family');
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8390204

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档