为什么在Laravel 7中应用过滤器后,我的分页链接会断开?
在我的记录上应用过滤器后出现问题。本质上,一旦过滤过程完成,分页链接就会中断,并尝试指向不存在的页面 我将尝试一步一步地为您提供代码,让我们从路线开始:为什么在Laravel 7中应用过滤器后,我的分页链接会断开?,laravel,pagination,routes,Laravel,Pagination,Routes,在我的记录上应用过滤器后出现问题。本质上,一旦过滤过程完成,分页链接就会中断,并尝试指向不存在的页面 我将尝试一步一步地为您提供代码,让我们从路线开始: Route::post('/filter-leads', 'FiltersController@leadsFilter'); 它通过AJAX发送所有过滤条件。接下来是控制器: public function leadsFilter(Request $request) { //return response()->json
Route::post('/filter-leads', 'FiltersController@leadsFilter');
它通过AJAX发送所有过滤条件。接下来是控制器:
public function leadsFilter(Request $request) {
//return response()->json($request); //value checker pre-validation
$val = $request->validate([
'startDate' => 'nullable|date',
'endDate' => 'nullable|date',
'leadTypes.*' => 'nullable|string',
]);
//return response()->json($val); //value checker post-validation
//default static variables
$company = Company::where('id', auth()->user()->company_id)->first();
$status = LeadStatusOption::where('company_id', auth()->user()->company_id)->get();
$query = Lead::query()->where('company_id', $company->id);
//if catchers and query scalers
if($request->filled(['startDate', 'endDate'])) {
$startDate = Carbon::createFromFormat('Y-m-d', $val['startDate'])->format('d/m/Y'); //carbon usage needed due to the format the model is expecting, this then gets converted by the scope
$endDate = Carbon::createFromFormat('Y-m-d', $val['endDate'])->format('d/m/Y');
$query = $query->StartDate($startDate)->EndDate($endDate);
}
else if ($request->filled('startDate')){
$startDate = Carbon::createFromFormat('Y-m-d', $val['startDate'])->format('d/m/Y');
$query = $query->StartDate($startDate);
}
else if ($request->filled('endDate')){
$endDate = Carbon::createFromFormat('Y-m-d', $val['endDate'])->format('d/m/Y');
$query = $query->EndDate($endDate);
}
if($request->filled('leadTypes')) {
$query = $query->LeadTypes($val['leadTypes']);
}
//final query builder
$leads = $query->paginate(15);
return view('partials.leadTable')
->with([
'leads' => $leads,
'company' => $company,
'status' => $status,
]);
}
之后,我只使用页面底部的{{$leads->links()}}。
首先,这是url在具有工作分页的基本页面上的外观:
http://demo:8888/test-模块/潜在客户?第页=1
然后在过滤之后,这就是它给我的:
http://demo:8888/test-模块/过滤器引线?第2页
显示以下错误消息:
无效辩论例外
找不到视图[显示]。
http://demo:8888/test-模块/过滤器引线?第2页
隐藏解决方案
找不到显示。
你是说家吗
我将非常感谢您的帮助
提前谢谢你
更新#1:我在一个名为filter-leads.blade.php的新文件下创建了一个现有页面的副本,假设Laravel正在寻找它来显示结果。这给了我同样的错误。没有成功
更新#2:经过多次尝试并失败后,我现在放弃了我希望的方式。相反,我偶然发现了Livewire,它是一个“无js”框架,工作原理与Alpine、Vue、Reacts等非常相似。下面是我目前正在学习的教程的链接: