如何在yii中加入两个关系表?

时间:2014-09-24 10:03:01

标签: php yii crud cgridview

我有两个表公司和用户。在用户表中有一个名为company_id的字段,它将用户与公司联系起来。但并非所有用户都与公司有关。将有没有公司ID的用户。现在我需要使用关系列出网格视图中的用户。我使用yii中的关系将用户关联到用户。

public function relations() {
    return array('company' => array(self::BELONGS_TO, 'Company', 'company_id'));
}

但是当我试图显示每个用户的公司名称时,它显示错误。我认为问题在于与公司无关的用户。我搜索了答案,在给出关系时想出了左连接操作。

public function relations() {
    return array('company' => array(self::BELONGS_TO, 'Company', 'company_id',
            'joinType' => 'LEFT JOIN',
            'on' => "(company.id=company_id)"));
}

但这也给了我错误。

  

CDbCommand无法执行SQL语句:SQLSTATE [42S22]:找不到列:1054'where子句'中的未知列'company_id'。执行的SQL语句是:SELECT companyid AS t1_c0companyname AS t1_c1company。{ {1}} AS telephonet1_c2company AS descriptiont1_c3company AS address,{{1 } {。{1}} AS t1_c4 FROM company status WHERE((company.id = company_id))AND(t1_c5company =: ypl0​​)

请帮我解决这个问题。我是yii的初学者。

提前致谢。

1 个答案:

答案 0 :(得分:0)