我有两个表,一个是事件表,一个是event_dates表。
我想要做的是根据event_dates限制事件的结果数量。例如:如果当前日期是事件的最后日期,则不会返回。
目前我有这个:
$events = Events::with(['dates'=>function($query)
{
$query->orderBy('event_date','asc');
}])->get();
return response()->json($events);
这会给我一个带有“dates”数组升序的json数组。有没有办法在事件查询的where子句中使用该数组中的最后一行?
答案 0 :(得分:1)
whereHas
应该有效:
$today = Carbon::now()->toDateString();
$events = Events::whereHas('dates', function($q) use ($today){
$q->where('event_date', '>=', $today);
})->get();
如果你仍然想加载关系,那么显然只需添加with()
......