在laravel样本路由中
Route::get('books/{genre}', 'controller@method');
链接就是这样的
link.com/books/crime
或link.com/books/programming
如果我想同时获得两种类型,我该怎么做?
如果可能实现
link.com/books?genre=crime,programming
我如何在路线中写出来?以及如何获得控制器中的值?
我尝试过这样的事情。但我不知道如何实现它。
Route::get('books?{genre?}', 'controller@method');
控制器部分
function method($fields = null) {
return jsonData;
}
找到方法,但它有点可怕......
路线
Route::get('books', 'controller@method');
url
link.com/books?genre=crime,programming,love,religion
方法
function method() {
$array = explode(',',$_GET['fields');
//.....
return jsonData;
}
答案 0 :(得分:0)
您可以通过几种方式实现这一目标。
如果想要实现,
http://link.com/books/crime/programming
或
http://link.com/books/crime
您可以使用以下路线:
Route::get('books/{genre}/{genreOptional?}', function($genre, $genreOptional = null)
{
dd($genre, $genreOptional);
});
或
Route::get('books/{genre}/{genreOptional?}', 'controller@method' );
你的控制器:
public function method($genre, $genreOptional = NULL)
{
//
}