【发布时间】:2011-09-29 23:39:55
【问题描述】:
描述表格的图片 -> http://i.stack.imgur.com/ki2YP.jpg
每个表都是一个模型。
通过CGridView显示的主要模型是“RegularTask”。
现在我需要它在同一行显示“YearlyTask”中的字段。
“hp_id”和“up_id”在两个表中都是 FK(外键)。
我尝试像这样在 RegularTask 模型中设置关系():
'arp' => array(self::BELONGS_TO, 'YearlyTask', 'hp_id, up_id'),
然后我尝试使用“arp.is_sent”和“arp.is_reported”显示来自 YearlyTask 的“is_sent”和“is_reported”字段,但没有显示(甚至没有错误)。而来自 RegularTask 的数据正常显示。
我做错了什么?
这是来自数据提供者的 sn-p..
<?php
$dataProvider=new CActiveDataProvider('RegularTask', array(
'criteria'=>array(
'condition'=>'t.id_id=' . $model->id,
'order'=>'t.created DESC',
'with'=>array('arp'),
),
'pagination'=>array(
'pageSize'=>10,
),
));
$this->widget('zii.widgets.grid.CGridView', array(
'dataProvider'=>$dataProvider,
'columns'=>array(
'comment',
'arp.is_sent'
),
));
?>
【问题讨论】:
-
你能显示你的数据提供者和你试图从哪里访问相关值的 sn-p 吗?
-
@ldg 我更新了描述并添加了您要求的代码 sn-p。
-
您的视图代码看起来不错,所以我怀疑这与关系有关 - 这种关系在小部件之外是否有效?如果没有,请尝试更改关系类型。请注意,如果您使用真正的外键 (InnoDB),您可以尝试让 gii 为您创建关系。
标签: php yii model yii-relations