Php 拉威尔日期搜索功能
如何添加日期搜索,如date_FROM和date_to?我已经有了使用搜索框和下拉过滤器的现有控制器到我的刀片模板,现在我如何添加日期范围过滤器。以及如何将其添加到blade中的日期选择器中 注意:在我的数据库中,我只在列中创建了默认值 控制器:Php 拉威尔日期搜索功能,php,laravel,Php,Laravel,如何添加日期搜索,如date_FROM和date_to?我已经有了使用搜索框和下拉过滤器的现有控制器到我的刀片模板,现在我如何添加日期范围过滤器。以及如何将其添加到blade中的日期选择器中 注意:在我的数据库中,我只在列中创建了默认值 控制器: public function index(Request $request) { $search=$request->input('search'); if(request()->has('lead_status')
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);
}
查看日期选择器
从…起
到
使用where date,您可以按日期进行搜索
这里可能还有更多
两者之间
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);
在控制器中访问请求输入参数,如下所示: 使用\Http\Request
公共功能索引(请求$Request)
{
$search=$request->input('date');
$leads=Lead::where('Lead_status'=',$search)->get();
返回视图('leads.index')->带有('leads',$leads);
}
简单使用BETWEEN
像这样->whereBetween('created_at',[$from_date,$to_date])代码>您也有搜索框和lead status框?是的,先生,我有它。这就是为什么我不知道在这些代码中添加日期搜索的位置。我如何将其放入我的刀片视图中?检查更新的答案您需要为搜索过滤器添加条件关于我的刀片模板如何安排?在输入框中添加名称,name=“from”,name=“到”
$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);