我正在尝试使用Yii2 ActiveRecord方法创建关系查询以使用联结表。 表收藏夹包含user_id和object_id cols。 col object_id链接到user.id,col user_id链接到user.id.它是1到N的关系。
我想创建这样的关系: user.id - > favorites.user_id&& favorites.object_id - > user.id。
class User extends ActiveRecord
{
public function getFavorites()
{
return $this->hasMany(Favorite::className(), ['user_id' => 'id' ]);
}
public function getFavoriteUsers()
{
return $this->hasMany($this::className(), ['user_id' => 'object_id', 'subject_id' => Subjects::PROFILE ])->via('favorites');
}
public function getFavoriteUsersViaTable()
{
return $this->hasMany($this::className(), ['user_id' => 'object_id', 'subject_id' => Subjects::PROFILE ])->viaTable('{{%favorites}}', ['object_id' => 'id']);
}
}
但是当我尝试获取喜欢的用户时,我会变为空。
答案 0 :(得分:0)
modbv