【发布时间】:2015-01-22 05:06:18
【问题描述】:
将 createCommand 隐藏为 CDbCriteria。
如何使用 CDbCriteria yii 创建这个查询?
SELECT SUM(f.mablagh) as kol,k.code,k.name,m.name AS mName,m.code AS mCode
FROM T1 AS f
LEFT JOIN T2 AS k ON k.code=f.kCode
LEFT JOIN T3 As m ON m.code=k.main
GROUP BY k.main
T1 型号:
public function relations()
{
return array(
'kCode0' => array(self::BELONGS_TO, 'T2', 'kCode'),
);
}
T2 型号:
return array(
'main' => array(self::BELONGS_TO, 'T3', 'mymain'),
);
换句话说,我想转换这段代码:
$result = Yii::app()->db->createCommand()
->select('SUM(f.mablagh) as kol,k.code,k.name,m.name AS mName,m.code AS mCode')
->from('T1 AS f')
->join('T2 AS k' ,'k.code=f.kCode')
->join('T3 AS m' ,'m.code=k.main')
->group('k.main')
->queryAll();
收件人:
$criteria = new CDbCriteria;
.
.
.
.
$result = T1::model()->findAll($criteria);
【问题讨论】: