【问题标题】:how to make search bar through 2 dates? the starting date and ending date at laravel如何通过 2 个日期制作搜索栏? laravel 的开始日期和结束日期
【发布时间】:2019-01-13 03:03:11
【问题描述】:

我已经被困在这里好几个星期了。我尝试了很多我在互联网上看到的代码,但仍然无法实现。我需要帮助。我只是 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">

搜索

抱歉语法错误。希望你们能帮助我.. 提前致谢。

【问题讨论】:

    标签: php html laravel


    【解决方案1】:

    你可以像这样使用它:

    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 中减去一天即可获得特定日期数据。

    【讨论】:

    • 错误是什么?你能再描述一下吗?
    • 它说调用未定义的方法 Illuminate\Database\Query\Builder::fromdate()
    • 查询生成器中没有类似 fromdate() 的方法。 Query Builder 由设计模式组成。这就是 laravel 的工作原理。
    猜你喜欢
    • 1970-01-01
    • 2022-01-23
    • 2012-08-19
    • 1970-01-01
    • 2020-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多