Laravel 5.2 версия whereDate - PullRequest
       1

Laravel 5.2 версия whereDate

0 голосов
/ 17 октября 2019

Что такое версия laravel 5.2 из следующего условия:

->whereDate('created_at', '=', $sel_date) 

Обратите внимание, что $ sel_date имеет следующий формат:

$sel_date = date('Y-m-d');

1 Ответ

1 голос
/ 17 октября 2019

Laravel whereDate метод генерирует следующий запрос:

.... WHERE DATE('created_at') = 'Y-m-d date here'

Вы можете получить тот же запрос, используя raw где:

->where(\DB::raw("DATE(created_at) = '".$sel_date."'"));

UPDATE

Хорошим подходом является использование привязок в необработанных запросах, поэтому правильный способ написания запроса будет следующим:

->where(\DB::raw("DATE(created_at) = '?'", [$sel_date]));

Когда переменная $ sel_date создается из вас, в коде нетпроблема с использованием первого подхода, но когда это пользовательский ввод, может вызвать SQL Injection, если вы не используете привязки или руда, не дезинфицируйте пользовательский ввод.

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