Php 如何在yii中连接两个具有关系的表?
我有两张表,公司和用户。在用户表中有一个名为company_id的字段,它将用户与公司关联起来。但并非所有用户都与该公司相关。将有没有公司id的用户。现在我需要使用关系在网格视图中列出用户。我使用yii中的关系将公司与用户关联Php 如何在yii中连接两个具有关系的表?,php,yii,crud,cgridview,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'));
}
但当我试图显示每个用户的公司名称时,它显示了错误。我认为问题在于与公司无关的用户。我搜索了答案,在给出关系的同时提出了左连接操作
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语句是:选择company
id
ASt1\u c0
,company
name
ASt1\u c1
,company
ASt1\u c2
,company
company
描述ASt1\u c3
,公司
地址作为t1\u c4
,公司
状态作为t1\u c5
来自公司
公司其中((company.id=company\u id))和(公司
id
=:ypl0)
请帮我解决这个问题。我是yii的初学者
提前感谢。请通过以下链接了解Yii关系的工作原理: 删除
'on'=>“(company.id=company\u id)”