【发布时间】:2022-01-18 22:50:30
【问题描述】:
所以我的数据结构如下:
User
id
Collection
user_idgame_id
Game
idstatus
在我的模型中,我有这样的关系:
User::hasMany(Collection)
Collection::belongsTo(Game)
Game::hasMany(Collection)
所以我要做的是获取用户列表并通过集合表包含所有相关游戏。但我只想包括那些具有特定状态的游戏。我正在使用的代码(不起作用)如下:
User::with('collections.game')->whereHas('collections.game', function ($query) {
return $query->where('status', '<>', 'denied');
})->get()
我的问题是所有游戏记录都被返回,包括denied 状态的记录。我在四处阅读,上面的方法似乎应该有效,但事实并非如此。
我做错了什么?
【问题讨论】: