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