我和很多其他人在一条类似的船上……从 Codeigniter 到 Laravel。
我正在搜索数据库,并正确提取结果。甚至分页工作正常。(它一次只显示 30 个,并在底部显示其余结果的链接)
您从一个部件搜索视图开始,该视图由控制器中的 get 函数调用。我在控制器中有一个发布功能,它正在拉动结果。(URL 仍然是部分搜索,但正在拉帖子功能)
问题是,当您选择第 6 页(URI 是 parts-search?page=6)时,它会被路由回拉入第一个 part-search 页面的函数。
我想说我必须做这样的事情:
Route::any('parts-search?page=(:any)')
但我不知道如何维护相同的搜索变量,或者是否每次都必须运行查询。
这些是我的文件:
路由.php
Route::controller('home');
Route::get('/', function()
{
return View::make('home');
});
Route::get('parts-search', 'home@parts_search');
Route::post('parts-search', 'home@parts_search');
home.php(控制器)
public $restful = true;
public function get_index()
{
return View::make('home');
}
public function get_parts_search()
{
return View::make('part-search');
}
public function post_parts_search()
{
if (Input::get('part_search'))
{
$term = Input::get('part_search');
$parts = Part::where('part', 'LIKE', $term.'%')
->order_by('part', 'asc')
->paginate(30);
return View::make('results')
->with('parts', $parts)
->with('term', $term);
}
else
{
return View::make('part-search')
->with('error', '<h1>Please enter a search term</h1>');
}
}
直接的答案和我学习的地方将不胜感激......以及任何课程更正,因为这是我 Laravel 的第 3 天。谢谢!
所以我已经确认这绝对是一个路由问题,但没有关于从哪里开始的模糊线索。而且我整天都在问谷歌大神无济于事。