路由传递值

时间:2014-01-17 04:19:24

标签: php laravel-4

拉拉维尔的新手。

在laravel样本路由中

Route::get('books/{genre}', 'controller@method');

链接就是这样的

link.com/books/crimelink.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;
 }

1 个答案:

答案 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)
{
   //
}
相关问题