Yii CDbCriteria Присоединяйтесь - PullRequest
6 голосов
/ 13 февраля 2011

Как мне написать запрос

SELECT *
  FROM doc_docs dd 
  JOIN doc_access da 
    ON dd.id=da.doc_id 
   AND da.user_id=7

с синтаксисом CDbCriteria?

1 Ответ

13 голосов
/ 14 февраля 2011

Вы на самом деле не можете полностью написать это, так как вам нужно применить критерии к модели activerecord для получения первичной таблицы, но, предполагая, что у вас есть модель DocDocs, вы можете сделать это следующим образом:было бы намного проще, если бы вы дали своей модели 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;

Должен дать вам довольно хорошую идею, как начать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...