如何在Laravel中指定这条路线?

时间:2017-08-17 10:38:51

标签: laravel laravel-5

我想要一个这样的网址:

/v1/vacations?country=US&year=2017&month=08

如何在Laravel 5.3中设置路由,我可以在哪里放置控制器和逻辑来接受查询字符串?

2 个答案:

答案 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...
    }
}

希望这会对你有所帮助。