Yii2 ActiveQuery" Where"不工作

时间:2015-05-04 01:12:34

标签: php yii2

我正在学习Yii2框架和PHP,但我找不到解决问题的方法。

我有多对多关系的AR模型项目:

    public function getUsers() {
    return $this->hasMany(UserAR::className(), ['id' => 'user_id'])
        ->viaTable('user_project', ['project_id' => 'id']);
    }

我想要使用给定ID的用户检索所有项目,然后反向 - 没有此用户的所有项目。到目前为止,我一直这样试过:

   $uid =  Yii::$app->user->id;
   $projects = Project::find()->all();
   foreach($projects as $p){
        $found = $p->getUsers()->where(['id'=>$uid])->all();
        echo"<pre>"; var_dump($found);
   }

但每次迭代都会返回NULL, 我做错了什么?

1 个答案:

答案 0 :(得分:0)

找到解决方案,不知怎的,我从管理帐户测试了没有附加到我的任何项目 - 这就是它返回null的原因 - 当我将$uid更改为正确的值时,它按我的意愿工作。感谢Chainarong Tangsurakit指出我正确的方向。