如何将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'));
}
当我的网址为/test/4
时,我的Backbone.js代码将无法从服务器获取(来自此功能):
public function pitanja()
{
$pitanja = Cache::get('pitanja');
return $pitanja;
}
(Backbone.js控制器中的URL为url:'/testovi/pitanja'
)
答案 0 :(得分:1)
抱歉,误读。
您需要检查路线的顺序。
Route::get('test/{a?}', function($a = '0') {
echo $a;
});
对我来说很好。