Поиск даты Laravel - PullRequest
       6

Поиск даты Laravel

0 голосов
/ 08 июня 2018

как добавить поиск по дате, как DATE_FROM и DATE_TO?У меня уже есть контроллер, использующий окно поиска и раскрывающийся фильтр к моему шаблону блейда, теперь как мне добавить фильтр диапазона дат.а также как добавить его в мой инструмент выбора даты в blade-файле

Примечание: в моей базе данных у меня есть только столбец default_at по умолчанию

Контроллер:

public function index(Request $request)
{

    $search=$request->input('search'); 

    if(request()->has('lead_status')){
        $leads=Lead::where('lead_status', request('lead_status'))
        ->paginate(5)
        ->appends('lead_status',request('lead_status'));
    }
    else{

        $leads=Lead::orderBy('created_at','desc')->search($search)->paginate(5);

    }

    return  view ('leads.index')->with('leads',$leads);

}

ПОСЛЕДОВАТЕЛЬНОСТЬ ПРОВЕРКИ ДАННЫХ

 <div class="col-sm-4 form-group">
    <label>FROM</label>
    <input type="date"  name="" value="" class="form-control">
                               
</div>
<div class="col-sm-4 form-group">
    <label>TO</label>
    <input type="date"  name="" value="" class="form-control">
                               
</div>

Ответы [ 2 ]

0 голосов
/ 08 июня 2018

И в вашем контроллере доступ к входному параметру запроса выглядит так: используйте Illuminate \ Http \ Request;

public function index(Request $request)
{
    $search= $request->input('date');
    $leads=Lead::where('lead_status''=', $search)->get();

    return  view ('leads.index')->with('leads',$leads);
}

МАРШРУТ с Route::get('/leads/{date}', 'YourControllerName@index');

0 голосов
/ 08 июня 2018

С указанием даты вы можете выполнить поиск по дате и, возможно, подробнее здесь 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...