Laravel Eloquent查询生成器 - 日期过滤不起作用

时间:2017-05-09 03:27:10

标签: mysql laravel eloquent

我有一种方法,我需要按日期过滤,只显示具有" 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();


}

0 个答案:

没有答案