我有一种方法,我需要按日期过滤,只显示具有" end_date"列设置为参数" $ start"。
表"顺序"包含一个DATE列" end_date",如果参数$ start是2017-05-30,它不应该返回" orders"除非" end_date"订单表中的记录是在2017-05-30之后。
下面的查询应该没问题,但它会返回所有订单记录。我尝试使用Carbon解析而没有,也没有工作。谁能告诉我哪里做错了?
谢谢堆!
public function returnordersbydate($user,$start,$end){
return Order::where('user_id','=',$user->id)
->whereDate('end_date','>=',Carbon::parse($start)->toDateString())
->has('orderdaytimes')
->whereHas('orderdaytimes',function($q) use($start,$end){
$q -> where('date','>=',$start)->where('date','<=',$end);
})->orderBy('id')->get();
}