晚上好,Yii的關係查詢與「到」
在本頁面(http://www.yiiframework.com/doc/guide/1.1/en/database.arr#relational-query-with-through)它描述瞭如何讓所有評論使用「通過」的特定組的所有用戶:
class Group extends CActiveRecord
{
...
public function relations()
{
return array(
'roles'=>array(self::HAS_MANY,'Role','group_id'),
'users'=>array(
self::HAS_MANY,'User',array('user_id'=>'id'),'through'=>'roles'
),
'comments'=>array(
self::HAS_MANY,'Comment',array('id'=>'user_id'),'through'=>'users'
),
);
}
}
我該怎麼做恰恰相反?也就是說,獲得發表特定評論的用戶組(評論模型基本上)。
到目前爲止,我甚至能達到「角色」表:
'user' => array(self::BELONGS_TO, 'User', 'user_id'),
'roles'=>array(self::HAS_MANY, 'Role', array('id'=>'user_id'), 'through' => 'user') // shouldn't it join User.id to Role.user_id ?
它提出了以下錯誤:「列未找到:1054未知列‘’在」哪裏user.user_id條款'。它似乎與第一行有關,而不是第二行...
任何想法?
真誠, Apidcloud
可能會嘗試將其切換'array('user_id'=>'id')'? – SiZE
請提及您的模型結構,它們的字段以及它們的外鍵關係。 –
@SiZE不起作用 – Apidcloud