【问题标题】:GRID COLUMNS atk4 agiletoolkit网格列 atk4 敏捷工具包
【发布时间】:2013-07-18 21:41:34
【问题描述】:

您好,我正在尝试从另一个表中获取一些引用数据,

数据结构:

表格部分详细信息
-id
-OperationTypeID(外键)
-添加日期

表操作类型
-id
-描述

我正在尝试这样的事情:

$crud = $this->add('MVCGrid', array('allow_edit'=>false));
$crud->setModel('Model_PartDetail',array('DateAdded'));

但是我想从表 OperationType 中查看“描述”,因为在我的 PartDetail 模型中我声明我的关系是这样的:

$this->hasOne('OperationType','OperationTypeID','Description') ->mandatory(true)
->caption('Operation Type');

例如在这种情况下,我想从表 OperationType 中查看描述

我试过了: $crud->setModel('Model_PartDetail',array('DateAdded','OperationType'));

但不起作用,仅适用于: $crud->setModel('Model_PartDetail',array('DateAdded','OperationTypeID'));

但我只得到身份证号,而不是描述。

这是如何工作的?

【问题讨论】:

    标签: grid atk4 agiletoolkit


    【解决方案1】:

    我能够解决它。

    在模型上你需要重新定义为

    $ref = $this->add('Field_Reference', 'OperationTypeID');
    $ref->dereferenced_field='OperationTypeDescription';
    
    $m = $this->add('Model_OperationType');
    $m->addField('D'); // <-- actually seems that this line is not working
    
    $ref->setModel($m, 'Description');
    

    然后在页面中你可以实际添加为 OperationTypeDescription:

    $crud->setModel('Model_PartDetail', array('DateAdded', 'OperationTypeDescription'));
    

    【讨论】:

    • 应该有更简单的解决方案。
    猜你喜欢
    • 2021-10-21
    • 2021-12-02
    • 2012-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多