如何通过join将我的查询转换为Yii framewor的活动记录? 我很难转换这些东西。
$conn = Yii::app()->db;
$sql = "SELECT * FROM wswebproducts JOIN category_products ON
category_products.ProductID = wswebproducts.ProductID
WHERE category_products.catid = :cid";
$sql = $conn->createCommand($sql);
$sql->bindValue(':cid',Yii::app()->request->getQuery('cid'));
$row = $sql->queryAll();
答案 0 :(得分:0)
您应该在wswebproducts category_products relation
中定义model
,并由ProductID加入。
public function relations()
{
return array(
'category_products' => array(self::MANY_MANY, 'Product', 'category_products(catid, ProductID)'),
);
}
查看the manual,真棒: - )
答案 1 :(得分:0)
这是你想要的而且不起作用吗?
$dataProvider=new CActiveDataProvider('wswebproducts', array(
'criteria'=>array(
'condition'=>'category_products.catid = :cid',
'with'=>array('category_products'),
'params'=>array(':cid'=>Yii::app()->request->getQuery('cid')),
),
'pagination'=>array(
'pageSize'=>20,
),
));
参考此http://www.yiiframework.com/doc/api/1.1/CActiveDataProvider