微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – Laravel 5.1在url中添加查询字符串

我宣布了这条路线:
Route::get('category/{id}{query}{sortOrder}',['as'=>'sorting','uses'=>'CategoryController@searchByField'])->where(['id'=>'[0-9]+','query'=>'price|recent','sortOrder'=>'asc|desc']);

我想在url:http://category/1?field=recent&order=desc中得到这个
怎么做到这一点?

不应在路由中定义查询字符串,因为查询字符串不是URI的一部分.

要访问查询字符串,您应该使用请求对象. $request-> query()将返回所有查询参数的数组.您也可以使用它来返回单个查询参数$request-> query(‘key’)

class MyController extends Controller
{
    public function getAction(\Illuminate\Http\Request $request)
    {
        dd($request->query());
    }
}

那么您的路线就是这样

Route::get('/category/{id}');

编辑评论

生成URL,您仍然可以使用Laravel中的URL生成器,只提供您希望使用URL生成查询参数的数组.

url('route',['query' => 'recent','order' => 'desc']);

原文地址:https://www.jb51.cc/laravel/135912.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。