Yii2连接关系

时间:2016-05-24 20:22:08

标签: php yii yii2

我希望用户通过另一个表获得所有非联合的组。我的表是user,user_to_usergroup和usergroup。

有没有办法从查询中获得相反的结果?

代码如下:

public function getGroupsNotJoint() {    
return $this- >hasMany(Usergroup::className(), 
['id' => 'group_id'])->viaTable('user_to_usergroup', ['user_id' => 'id']);
}

此代码返回用户所属的所有组,我只想要用户不属于的组。

1 个答案:

答案 0 :(得分:1)

命名现有关系getGroups(),您可以通过修改此关系(应用其他条件)来获取当前用户的其余组:

public function getOtherGroups()
{
    return $this->getGroups()->andWhere(['!=', 'user_id', \Yii::$app->user->id]);
}