我有两个表公司和用户。在用户表中有一个名为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
company
。id
ASt1_c0
,company
。name
ASt1_c1
,company
。{ {1}} AStelephone
,t1_c2
。company
ASdescription
,t1_c3
。company
ASaddress
,{{1 } {。{1}} ASt1_c4
FROMcompany
status
WHERE((company.id = company_id))AND(t1_c5
。company
=: ypl0)
请帮我解决这个问题。我是yii的初学者。
提前致谢。
答案 0 :(得分:0)