search - Laravel 5.6 搜索分页给出错误“抱歉页面在第 2 页上找不到”
问题描述
我是 Laravel 搜索功能和分页的新手。我正在使用 Laravel 5.6 并具有搜索功能。
控制器代码
public function search()
{
$users = User::whereRole_id(1)->where(function($query) {
$q = Input::get ( 'q' );
return $query->where ( 'name', 'LIKE', '%' . $q . '%' )->orWhere ( 'email', 'LIKE', '%' . $q . '%' )->orWhere ( 'phone', 'LIKE', '%' . $q . '%');
})->paginate(8)->setPath('');
$pagination = $users->appends ( array ('q' => Input::get ( 'q' ) ) );
if (count($users) > 0){
return view( 'admin.users.index',compact('users'));
}else{
$q = Input::get ( 'q' );
Session::flash('Nosearch',"No Details found with $q .Try to search again !");
return view( 'admin.users.index',compact('users'));
}
}
我的查看代码:
我正在使用 {{$users->links()}} 来显示链接,当我查看源代码时,它会给出正确的参数以及这样的页码:
<li class="page-item active" aria-current="page"><span class="page-link">1</span</li><li class="page-item"><a class="page-link" href="?q=abc&page=2">2</a></li>
路线代码:
Route::group([
'as'=>'admin.',
'prefix' => 'admin',
'middleware' => 'admin'
], function() {
Route::post('/users/search', 'AdminUsersController@search');
}
当我点击下一页时,它给了我如下错误 页面未找到错误
请帮助我,我哪里出错了?谢谢, 帕拉克
解决方案
将您的资源路线移动到最后。您得到 404 是因为,您的 uriusers/search
与show
资源路径匹配,即users/{user}
laravel 尝试查找用户 id 为“search”的用户,但未找到,因此它给出了ModelNotFoundException
a 404
。
您应该重新排序您的路线,并将您的搜索路线设为GET
路线,否则下一页链接将始终users/{user}
使用GET
request 方法访问 uri,这将再次导致上述情况。
Route::group([
'as'=>'admin.',
'prefix' => 'admin',
'middleware' => 'admin'
], function() {
//Note that it is now a get method
Route::get('/users/search', 'AdminUsersController@search');
Route::get('/users/export/{type}', 'AdminUsersController@export');
//Moved your resource route to the end of `users` uri.
Route::resource('users', 'AdminUsersController');
Route::get('transactions/index', 'AdminTransactionsController@index')->name('transactions.index');
Route::post('/transactions/search', 'AdminTransactionsController@search');
Route::get('/transactions/export/{type}', 'AdminTransactionsController@export');
});
推荐阅读
- python - 'ProgrammingError:函数 avg(字符变化)不存在' - Django 项目
- sql - 需要来自连接的单个结果
- r - R - 从后面的行中获取一个值并添加为数据框中的新列
- react-native - podspec 文件的 react-native source_files 路径对自动链接有影响吗?
- python-3.x - 如何从python中的ppt文件中提取文本和格式?
- mysql - 如何获得MySQL中连续行之间的差异?
- javascript - 如何在redux reducer的嵌套对象数组中添加项目
- excel - 对于每个使用 Selection.AutoFill 遍历工作表的循环
- java - Java 正则表达式问题:###tag1@@@value1###tag2@@@value2###tag3@@@value3###
- podio - 播音推送服务的实时性如何?