【问题标题】:Route Passing a value路由传递值
【发布时间】:2014-01-17 04:19:23
【问题描述】:

laravel 新手。

在 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');

网址

link.com/books?genre=crime,programming,love,religion

方法

function method() {
     $array = explode(',',$_GET['fields');
     //.....
     return jsonData;
 }

【问题讨论】:

    标签: php laravel-4


    【解决方案1】:

    有几种方法可以实现这一目标。

    如果想实现,

    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)
    {
       //
    }
    

    【讨论】:

    • 谢谢。但我想获得一系列类型。
    • 不..只是网址。它将根据给定的数组返回一个 json 数据。我为我的项目构建了一个 api,这样我就可以轻松使用它了。
    • 如果你想要一个数组,最好把它放在一个查询字符串中,或​​者用类似 | 的东西分隔流派
    猜你喜欢
    • 2016-12-08
    • 2016-02-27
    • 2015-04-25
    • 2016-01-17
    • 1970-01-01
    • 1970-01-01
    • 2017-08-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多