С указанием даты вы можете выполнить поиск по дате и, возможно, подробнее здесь Laravel
Lead::whereDate('created_at', '=', date('Y-m-d'))->get();
WhereBetween
Lead::whereBetween('created_at', [date('Y-m-d', strtotime($input['from'])), date('Y-m-d', strtotime($input['to']))])->get();
Ваше решение
$leads = Lead::query();
if($request()->has('lead_status')){
$leads = $leads->where('lead_status', $request('lead_status'));
}
if($request()->has('from') && $request()->has('to')){
{
$from_date = date('Y-m-d', strtotime($request()->has('from')));
$to_date = date('Y-m-d', strtotime($request()->has('to')));
$leads = $leads->whereBetween('created_at', [$from_date, $to_date]);
}
$leads = $leads->orderBy('created_at','desc')->paginate(5);