我想用Eloquent执行一个简单的查询。
我需要获得与我在同一个国家/地区的所有公开锦标赛(锦标赛 - >类型= 1)。锦标赛没有country_id,但我需要用
来完成$tournament->owner->country_id == Auth::user()->id
所以,在我的锦标赛表中,我有一个user_id是所有者,在我的模型中,我有一个工作关系,获得$ tournament->所有者
这是我的尝试(不起作用)
openTournaments = App\Tournament::with('owner')
->whereHas('owner', function ($query) {
$query->where('id', Auth::user()->country_id);
})
->where('type', config('constants.OPEN_TOURNAMENT'))
->get();
任何想法如何解决它?
答案 0 :(得分:1)
我不确定你的架构是什么样的,但假设用户有一个与之关联的country_id,并且锦标赛有一个与之关联的所有者,你应该能够这样做:
openTournaments = App\Tournament::with('owner')
->whereHas('owner', function ($query) {
$query->where('country_id', Auth::user()->country_id);
})
->where('type', config('constants.OPEN_TOURNAMENT'))
->get();
注意country_id
而不是id
。