Как получить все записи между датами в laravel? - PullRequest
0 голосов
/ 16 февраля 2019

Я получаю эту ошибку:

DateTime :: __ construct (): Не удалось проанализировать строку времени (11-08-33) в позиции 7 (3): неожиданный символ "

 $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 голосов
/ 16 февраля 2019

Вы должны указать 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 для замены - с / и ваш код будет работать!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...