如何获取laravel日期之间的所有记录?

时间:2019-02-16 07:05:32

标签: laravel-5

我正在获取此错误:

DateTime :: __ construct():无法解析位置7(3)上的时间字符串(11-08-33):意外字符”

 $fromDate = Carbon::parse($request->input('start'))->format('Y-m-d');
$toDate = Carbon::parse($request->input('end'))->format('Y-m-d');
$date_range = [$fromDate . ' 00:00:00', $toDate . ' 23:59:59'];

$data = DB::where('projects')
->whereBetween('created_at', $date_range)
->get();

1 个答案:

答案 0 :(得分:0)

您必须指定Carbon输出字符串格式,因此,在这种情况下,您可以像下面这样更改代码:

$input_date_format="d-m-y";//your date input format

$fromDate = Carbon::createFromFormat($input_date_format,$request->input('start'))->format('Y-m-d 00:00:00');
$toDate = Carbon::createFromFormat($input_date_format,$request->input('end'))->format('Y-m-d 23:59:59');


//instead of `DB::where`, use `DB::table`
$data = DB::table('projects')->whereBetween('created_at',[$fromDate, $toDate ])->get();

注意:您也可以使用str_replace来将-替换为/,您的代码才能正常工作!