如何在Laravel中指定此路线?
我想要一个像这样的URL:如何在Laravel中指定此路线?,laravel,laravel-5,Laravel,Laravel 5,我想要一个像这样的URL: /v1/vacations?country=US&year=2017&month=08 如何在Laravel 5.3中设置路由,以及在哪里可以放置控制器和逻辑以接受查询字符串?您的路由应该是这样的 Route::get('v1/vacations', 'VacationsController@index'); 然后去度假 public function index() { dd(request()->query()); $query=re
/v1/vacations?country=US&year=2017&month=08
如何在Laravel 5.3中设置路由,以及在哪里可以放置控制器和逻辑以接受查询字符串?您的路由应该是这样的
Route::get('v1/vacations', 'VacationsController@index');
然后去度假
public function index()
{
dd(request()->query());
$query=request()->query();
//search database using query
//return view with results
}
由于查询字符串不是URI的一部分,因此无法在路由中定义查询字符串。
要访问查询字符串,应使用请求对象
$request->query()
将返回所有查询参数的数组。您也可以使用它返回单个查询参数$request->query('key')
您只需检查请求对象中的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...
}
}
希望这对您有所帮助。谢谢您的帮助。这为我指明了正确的方向。虽然我收到了一个请求错误,但我认为这可能是因为我声明对象的方式?