我想要一个这样的网址:
/v1/vacations?country=US&year=2017&month=08
如何在Laravel 5.3中设置路由,我可以在哪里放置控制器和逻辑来接受查询字符串?
答案 0 :(得分:2)
你的路线应该是这样的;
Route::get('v1/vacations', 'VacationsController@index');
然后在VacationsController上
public function index()
{
dd(request()->query());
$query=request()->query();
//search database using query
//return view with results
}
由于查询字符串不是URI的一部分,因此无法在路由中定义查询字符串。
要访问查询字符串,您应该使用请求对象。 $request->query()
将返回所有查询参数的数组。您也可以使用它来返回单个查询参数$request->query('key')
答案 1 :(得分:0)
您只需检查Request对象中的url参数,如下所示:
// The route declaration
Route::get('/v1/vacations', 'YourController@method');
// The controller
class YourController extends BaseController {
public function method(Illuminate\Http\Request $request)
{
$country = $request->country;
// do things with them...
}
}
希望这会对你有所帮助。