0

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

数据结构:

表 PartDetail
-id -OperationTypeID
(外键)
-DateAdded

表 OperationType
-id
-Description

我正在尝试这样的事情:

$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'));

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

这是如何工作的?

4

1 回答 1

0

我能够解决它。

在模型上,您需要将其重新定义为

$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'));
于 2013-07-19T16:14:58.480 回答