【发布时间】:2014-08-18 09:46:52
【问题描述】:
我希望 CGridView 中的每个相关对象都有单独的行。
ModelB有modelAId,所以是HAS_MANY关系。
以下查询返回我想要获取的内容:
select * from modelA a
join modelB b on b.modelAId = a.id
这里我为每个对应的 modelB 行获取单独的行,来自 modelA 的记录可能重复。
但是,以下提供程序没有返回预期的记录,我如何在 CActiveDataProvider 中使用它
$provider = new CActiveDataProvider ("ModelA", array ("criteria" => array (
"with" => array("ModelB")
)
));
如果我添加 join "join" => " join modelB b on b.modelAId = t.id",并删除 with() 它会给出正确的记录,但是当我包含 with() 时它只会给出 modelA 记录。
从 ModelA 获取数据的正确方法是什么,包括 ModelB 关系的单独行?
【问题讨论】:
-
模型中的关系是如何定义的?这很可能是不正确的。您还可以在条件中使用联接。
标签: php sql join yii cactivedataprovider