Join 无法在CDbCriteria中进行内部联接
这是mysqli查询Join 无法在CDbCriteria中进行内部联接,join,yii,Join,Yii,这是mysqli查询 SELECT DISTINCT t.company_id,t.image,t.text,t.date, t.title AS c_title FROM news t INNER JOIN companies c ON c.company_id=t.company_id ORDER BY t.date DESC LIMIT 20" or die ("ERROR ". mysqli_error($link)); 我想用CDBC标准写作 $Criteria = new CDbC
SELECT DISTINCT t.company_id,t.image,t.text,t.date, t.title AS c_title
FROM news t
INNER JOIN companies c ON c.company_id=t.company_id ORDER BY t.date DESC
LIMIT 20" or die ("ERROR ". mysqli_error($link));
我想用CDBC标准写作
$Criteria = new CDbCriteria();
$Criteria->join = 'INNER JOIN companies c ON t.company_id=c.company_id';
if ($place>0){
$Criteria->condition = "t.company_id = :place";
$Criteria->params = array(':place'=>$place);
}
$Criteria->order = "t.date DESC";
$Criteria->limit = 20;
$Criteria->select='t.company_id,t.image,t.text,t.date,c.title AS c_title';
$dataProvider = new CActiveDataProvider('News',
array(
'criteria'=>$Criteria,
'pagination'=>false
)
);
未定义错误属性“News.c_title”未在新闻模型中定义属性
c_title
(新闻表中的字段将自动作为属性提供,但c_title是title的别名,而不是表中的字段)
将其放入您的新闻模型中:
public$c_title代码>是否在网格/列表视图中使用此选项?如果是,请添加。不,问题是我不能从公司获取c.title,它在新闻表格中查找。是的,c_title不是表格新闻的一个字段,它在表格公司中。通常在mysqli查询中,我编写了select c.title作为c_title,但这里它在新闻表中查找,而不是在公司中