我想从表中使用CActiveDataProvider检索所有数据 但我想加入其他桌子。
第一个表(成员)包括:id,account_id等等 第二个表(table2)包括:userid,itemname等
member.account_id = table2.userid
我想从会员中检索数据,但是如果只有table2.itemname ='staff'
我怎么能意识到这一点?
$criteria = new CDbCriteria;
$criteria = ?????? // i don't know what to do
$dataProvider=new CActiveDataProvider('Member', array(
'criteria' => $criteria
));
答案 0 :(得分:0)
您可以在此处找到问题的解决方案:
答案 1 :(得分:0)
默认情况下,主表格会获得别名t
,因此成员将被称为t
:
$criteria = new CDbCriteria;
$criteria->join = 'INNER JOIN table2 t2 ON t.account_id = t2.userid'; // define join part here
$criteria->addCondition('t2.itemname = "staff"');
$dataProvider = new CActiveDataProvider('Member', array(
'criteria' => $criteria
));