我如何编写查询
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;
应该给你一个很好的主意,如何开始...
关于php - Yii CDbCriteria加入,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4983864/