如何使搜索栏经过2个日期? laravel的开始日期和结束日期

时间:2018-08-06 07:44:11

标签: php html laravel

我被困在这里已经好几个星期了。我尝试了很多在互联网上看到的代码,但仍然无法实现,我需要帮助人员。我只是laravel的初学者,距我开始使用laravel已有1个月了。我想创建一个搜索栏,用户可以在其中选择开始日期和结束日期以查看数据

这是我的模特:

public function scopeSearchc($query, $start, $end)
{

    return $query->whereBetween('fromdate', [$fromdate, $enddate])->orWhere(function($query) use ($fromdate)) {
        $query->where('fromdate', '<=',$fromdate);
        $query->where('enddate', '>=' , $fromdate);
    }->get();

}

这是我的控制器:

public function allrec(Request $request)
{
    $fromdate = $request->input('fromdate');
    $enddate = $request->input('enddate');


    $dataview = data::orderBy('date_assembled', 'desc')->fromdate($fromdate)->enddate($enddate)->paginate(5);


    return view ('Med.dailyrecview', compact('dataview','fromdate','enddate'));


}

这是我的刀刃:

<form method="get">

  搜索

对不起,语法错误。希望你们能帮助我.. 预先感谢。

1 个答案:

答案 0 :(得分:0)

您可以使用类似的东西

public function scopeSearchc($query, $fromdate, $enddate)
{

    $fromdate = date('Y-m-d', strtotime($fromdate . ' -1 day'));
    $enddate = date('Y-m-d', strtotime($enddate . ' +1 day'));

    return $query->whereBetween('fromdate', [$fromdate, $enddate])->get();
}

只需将enddate添加一天,然后从fromdate减去一天,即可获取特定的日期数据。