【问题标题】:Laravel date search funtionLaravel 日期搜索功能
【发布时间】:2018-06-08 05:51:15
【问题描述】:

如何添加日期搜索,如 DATE_FROM 和 DATE_TO?我已经在刀片模板中使用了搜索框和下拉过滤器的现有控制器,现在如何添加日期范围过滤器。以及如何将其添加到刀片中的日期选择器中

注意: 在我的数据库中,我只有默认的 created_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>

【问题讨论】:

  • 简单使用BETWEEN这样-&gt;whereBetween('created_at',[$from_date,$to_date]);
  • 您还有搜索框和潜在客户状态框吗?
  • 是的,先生,我有它
  • 这就是为什么我会混淆在这些代码中添加日期搜索的位置

标签: php laravel


【解决方案1】:

使用 where date 您可以按日期搜索 并且可以在这里Laravel

Lead::whereDate('created_at', '=', date('Y-m-d'))->get();

在哪里

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);

【讨论】:

  • 如何将其放入刀片视图中?
  • 检查您需要添加搜索过滤条件的更新答案
  • 我的刀片模板怎么样,我该如何安排?
  • 在输入框中添加姓名,name="from",name="to"
【解决方案2】:

然后在您的控制器中访问请求输入参数,如下所示: 使用 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');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-17
    • 2016-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-11
    • 2018-12-30
    相关资源
    最近更新 更多