0

如何将可选参数从 laravel 路由传递给控制器​​?我在用:

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 代码时,将不会从服务器(从此函数)获取:

public function pitanja()
{
    $pitanja =  Cache::get('pitanja');
    return $pitanja;
}

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

4

1 回答 1

1

对不起,看错了。

您需要检查路线的顺序。

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

对我来说很好。

于 2013-06-06T18:41:53.847 回答