Parameters 将可选参数值从laravel route传递给控制器

Parameters 将可选参数值从laravel route传递给控制器,parameters,controller,routes,laravel,optional,Parameters,Controller,Routes,Laravel,Optional,如何将可选参数从laravel route传递到控制器?我正在使用: Route::get('test/{id?}', function($id = 5){}); 但它不起作用 更新:Laravel版本4 代码现在可以工作了,但是我视图中的Backbone.js脚本无法工作。它不会从服务器获取数据(返回错误) 路线: Route::get('test/{id?}', 'TestController@index', function ($id = 5) {}); 控制器: public fun

如何将可选参数从laravel route传递到控制器?我正在使用:

Route::get('test/{id?}', function($id = 5){});
但它不起作用

更新:Laravel版本4

代码现在可以工作了,但是我视图中的Backbone.js脚本无法工作。它不会从服务器获取数据(返回错误)

路线:

Route::get('test/{id?}', 'TestController@index', function ($id = 5) {});
控制器:

public function index()
{
    $pitanja = DB::select('select * from pitanja ORDER BY RAND() LIMIT 15');
    $znakovi = DB::select('select * from znakovi ORDER BY RAND() LIMIT 15');

    Cache::forever('pitanja', $pitanja);
    Cache::forever('znakovi', $znakovi);

    return View::make('test.index', compact('pitanja'), compact('znakovi'));
}
当我的URL为
/test/4
时,我的Backbone.js代码将无法从服务器获取(通过此函数):

(Backbone.js控制器中的URL是
URL:'/testovi/pitanja'

对不起,误读了

您需要检查路线的顺序

Route::get('test/{a?}', function($a = '0') {
  echo $a;
});

对我来说效果很好。

我希望它成为laravel 4文档中的可选路由参数:当我像上一篇文章那样做时,它可以工作,但我的backbone.js代码无法工作(它无法从服务器获取数据)。更新了答案,很抱歉误读了您的问题。检查路线的顺序。尝试将其放在routes.php的顶部。
Route::get('test/{a?}', function($a = '0') {
  echo $a;
});