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
, если вы не используете привязки или руда, не дезинфицируйте пользовательский ввод.