6
我怎样才能编写查询Yii的CDbCriteria加入
SELECT *
FROM doc_docs dd
JOIN doc_access da
ON dd.id=da.doc_id
AND da.user_id=7
与CDbCriteria
语法?
我怎样才能编写查询Yii的CDbCriteria加入
SELECT *
FROM doc_docs dd
JOIN doc_access da
ON dd.id=da.doc_id
AND da.user_id=7
与CDbCriteria
语法?
你居然着完全写,因为你必须将标准适用于ActiveRecord模型来获得主表,但假设你有一个DocDocs模型,你可以做这样的:
$oDBC = new CDbCriteria();
$oDBC->join = 'LEFT JOIN doc_access a ON t.id = a.doc_id and a.user_id = 7';
$aRecords = DocDocs::model()->findAll($oDBC);
虽然如果你给你DocDocs模型doc_access的关系可能会轻松很多,那么你就必须使用dbcriteria:
class DocDocs extends CActiveRecord
{
...
public function relations()
{
return array('access' => array(self::HAS_MANY, 'DocAccess', 'doc_id');
}
...
}
$oDocDocs = new DocDocs;
$oDocDocs->id = 7;
$aRecords = $oDocDocs->access;
应该给你一个相当不错的主意如何开始......
已解决问题。 – 2011-02-13 12:30:12