Laravel:在路线上传递函数参数

时间:2015-04-08 08:45:34

标签: laravel routes

如何在routes.php中的函数上传递参数

Route::get('/{order}', array("as" => "ordered", "uses" => 'HomeController@ordered'), function() {
            Session::put('order',$order')
        });

似乎无法正常工作

4 个答案:

答案 0 :(得分:3)

这样怎么样:

<?php
Route::get('/{order}', array("as" => "ordered", "uses" => 'HomeController@ordered'), function() use ($order) {
        Session::put('order',$order')
    });

可以在此处找到更详细的示例Anonymous functions 示例#3从父作用域继承变量

这里重要的是注意使用关键字。它允许您传递在匿名函数之外定义的变量。

修改

我的不好,似乎我误会了。试试这种方式:

<?php
Route::get('/{order}', array("as" => "ordered", "uses" => 'HomeController@ordered'), function($order) {
    Session::put('order',$order')
});

答案 1 :(得分:2)

只需更改为以下内容..........

Route::get('/{order}','HomeController@ordered');

On HomeController ............

  public function ordered($order){
       ///////////////////your code here, use $order here
    });

答案 2 :(得分:2)

请关注此 路线:

Route::get('/{order}','HomeController@ordered');

控制器: HomeController的方法 -

function ordered($order) {

}

你也可以传递多个参数

路线:

Route::get('/{order}/{id}','HomeController@ordered');

控制器:

function ordered($order,$id) {

    }

答案 3 :(得分:0)

迟到总比不到好(5年):

Route::get('/{order}', array("as" => "ordered", "uses" => 'HomeController@ordered'), function() {
            Session::put('order', request()->route('order'));
        });