php - Laravel 日期搜索功能
问题描述
如何添加日期搜索,如 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>
解决方案
使用日期,您可以按日期搜索,并且可以在这里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);
推荐阅读
- exception - 为什么要在 Webflux 应用程序中构建自己的错误/异常处理?
- javascript - Cypress: How to get Href attribute value, redirect and match the URL with value
- alexa-skills-kit - 如何将值列表传递给意图中的alexa插槽
- tensorflow - 导出没有变量的 TensorFlow 模型
- javascript - 什么是 javascript monorepo 的正确方法
- java - 在java 8中与生菜建立redis连接的正确方法
- java - 我正在尝试创建一个二叉搜索树并打印这棵树的预购
- javascript - CSS 模块与普通 CSS 更改 React 中页面的背景
- angular - Angular 8,在身份验证服务中获取当前用户
- android - 如何像 chrome 一样在 web 视图的后台运行桌面网站(如 Youtube)?