Routing 带分页和restful控制器的Laravel路由

Routing 带分页和restful控制器的Laravel路由,routing,pagination,laravel,Routing,Pagination,Laravel,我和其他很多人在一条类似的船上…从Codeigniter到Laravel 我正在对数据库执行搜索,并正确地输入结果,甚至使分页工作正常。(一次只显示30个链接,其余结果显示底部的链接) 从零件搜索视图开始,该视图由控制器中的get函数调用。我在控制器中有一个post函数,用于提取结果。(URL仍然是部分搜索,但正在使用post功能) 问题是,当您选择第6页(URI是parts search?page=6)时,它会被路由回拉入第一个parts search页的函数 我想说,我必须这样做: Rout

我和其他很多人在一条类似的船上…从Codeigniter到Laravel

我正在对数据库执行搜索,并正确地输入结果,甚至使分页工作正常。(一次只显示30个链接,其余结果显示底部的链接)

从零件搜索视图开始,该视图由控制器中的get函数调用。我在控制器中有一个post函数,用于提取结果。(URL仍然是部分搜索,但正在使用post功能)

问题是,当您选择第6页(URI是parts search?page=6)时,它会被路由回拉入第一个parts search页的函数

我想说,我必须这样做:

Route::any('parts-search?page=(:any)

但是我不知道如何维护相同的搜索变量,或者是否每次都必须运行查询

这些是我的文件:

routes.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;
公共函数get_index()
{
返回视图::make('home');
}
公共函数get\u parts\u search()
{
返回视图::make('part-search');
}
公共功能post\u parts\u search()
{
if(输入::get('part_search'))
{
$term=Input::get('part_search');
$parts=Part::where('Part','LIKE',$term.'%'))
->订购人(‘零件’、‘asc’)
->分页(30);
返回视图::make('results')
->带('parts',$parts)
->带('期限',$期限);
}
其他的
{
返回视图::make('part-search')
->带有('error','Please enter a search term');
}
}
无论是直接的答案,还是一个让我学习的地方,我都将不胜感激……任何课程的修改,因为这是我在拉雷维尔的第三天。谢谢

所以我已经确认这肯定是一个路由问题,但对于从哪里开始,我还没有一点模糊的线索。我整天都在问Google gods,但都没有用。

这就是为什么你会在GET请求中进行搜索查询,这样搜索关键字就会出现在URI中。大多数应用程序都是这样做的,甚至是堆栈溢出


要在您想要更改页面时维护查询字符串,请单击。

好的,现在我的问题是分页会创建带有?的链接,但我无法解析它们,除非它们是/。如果我尝试设置Route::get('results?(:any?),function($term=NULL),我仍然会得到一个404
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>');
    }

}