CActiveDataProvider有一些标准

时间:2013-12-30 02:16:24

标签: mysql yii

我想从表中使用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
));

2 个答案:

答案 0 :(得分:0)

您可以在此处找到问题的解决方案:

Using CDbCriteria in the Yii Framework - LarryUllman

答案 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
));