Laravel 5正确的搜索和排序机制

时间:2016-12-07 09:21:23

标签: laravel sorting search laravel-5

我创建了一个Laravel 5.3 Web应用程序,并且遇到了排序和搜索方面的一些困难。

我有一些公司的表,我从数据库中获取。此表有几列:名称,行业,国家/地区等。通过单击列标题可对表进行排序。

排序路线是:

Route::get('/{sort?}/{order?}', 'CompaniesController@index')
->where('sort', 'id|name|country')
->where('order', 'asc|desc')
->name('companies');

我还使用simplePaginate()对输出结果进行分页。

第一页的网址如下:

http://example.com/companies/id/deschttp://example.com/companies/country/asc

和分页看起来像 http://example.com/companies/country/asc?page=2

到目前为止,一切正常。但我也希望使用HTML表单按名称,国家等进行搜索。

我尝试将当前网址传递给action参数,并在提交表单后获取此信息:

http://example.com/companies/country/asc?name=test

我可以使用这些参数并使用它们,但如果我使用分页转到第二页,我会丢失查询字符串。我不知道这种方式是错的。

接下来我尝试使用搜索路径:

Route::get('/search',['uses' => 'SearchController@getSearch','as' => 'search']);

SearchController,但我不知道如何正确认识到它。

我需要结合使用搜索,排序和分页,但我不知道如何将搜索参数包含到网址中以便正确使用。

Thanx帮忙。

1 个答案:

答案 0 :(得分:0)

看一下这个包jQuery DataTables API for Laravel 4|5

它包含您提到的所有要求。