如何在CDbCriteria Yii Framework中编写复杂的JOIN查询

杰卡

我有两个表:productdocument都与document_id有关。

现在,我想product_id使用Yii CDbCriteria从数据库中获取文档名称

喜欢 :

SELECT d.* 
FROM `document` As d, `product_document` AS p 
WHERE d.document_id=p.document_id
AND
p.product_id=133;

我想写相同的查询,但使用CDbCriteria我已经尝试过了,但是我被它的语法卡住了。

橡果网

哈里语法正确。如果要使其在整个应用程序中更清洁和可重用,请考虑使用命名作用域:

/* scope in your Document model */
public function forProductId($id) {
    $criteria = new CDbCriteria();
    $criteria->condition = 'product.id = :productId',
    $criteria->with = 'product';
    $criteria->params = array(
        ':productId' => (int)$id,
    );
    return $this->dbCriteria()->mergeWith($criteria);
}

使您的设置随着时间的推移具有更高的可重用性...

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章