Yii AR,选择有条件的相关表格

时间:2013-11-17 06:58:27

标签: activerecord yii

$projects = Project::model()->with(array(
    'pvotes' => array(
          'condition'=>'pvotes.user_id='.Yii::app()->user->id,
    ),
))->findAllByAttributes(array(
    'status' => array('register','vote','selected'),
));

我想选择所有projects其中“'status'=>数组('register','vote','selected')”与pvotes其中“user_id ='。Yii: :应用程序() - >用户> ID”。但是此代码选择projects其中“pvotes.user_id ='。Yii :: app() - > user-> id”和“'status'=> array('register','vote', '选择')” ..

项目:

public function relations() {
        return array(
            'pvotes' => array(self::HAS_MANY, 'ProjectVote', 'project_id'),
        );
    }

ProjectVote:

public function relations() {
        return array(
            'project' => array(self::BELONGS_TO, 'Project', 'project_id'),
            'user' => array(self::BELONGS_TO, 'User', 'user_id'),
        );
    }

感谢。

1 个答案:

答案 0 :(得分:0)

如果使用条件添加with(),则会限制搜索结果

如果您只需要处于这些状态的项目,那么使用不带数组,只使用字符串model()->with('pvotes')->

并且只使用条件来限制您的项目