我有3个表:variants
,jobs
和options
。每个variant
都有很多jobs
,每个job
都有很多options
。
我需要查询属于某个jobs
的所有options.option = 'tbd'
variant
。
例如我有variant.id=5
,那么查询应该是这样的:
SELECT jobs.name FROM jobs LEFT JOIN options ON jobs.id = options.job_id WHERE options.option = 'tbd' AND jobs.variant_id = 5
我怎样才能在Eloquent中得到这个? Variant::find(5)->jobs->has('options.option','=','tbd')
无效。
答案 0 :(得分:0)
您可以尝试:
Variant::find(5)->jobs()->whereHas('options',function($q) {
$q->where('option','tbd');
});