加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – Yii CDbCriteria加入

发布时间:2020-12-13 16:42:59 所属栏目:PHP教程 来源:网络整理
导读:我如何编写查询 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 CD
我如何编写查询
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;

应该给你一个相当好的主意如何开始……

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读