将可选参数值从 laravel 路由传递到控制器
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/16969539/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Passing optional parameter value from laravel route to controller
提问by Sysrq147
How can I pass optional parameter from laravel route to controller? I am using:
如何将可选参数从 laravel 路由传递到控制器?我在用:
Route::get('test/{id?}', function($id = 5){});
But it is not working...
但它不起作用......
Update: Laravel version 4
更新:Laravel 版本 4
Code is working now but my Backbone.js script which is in my view don't work. It will not fetch data from server (returning error).
代码现在正在运行,但我认为的 Backbone.js 脚本不起作用。它不会从服务器获取数据(返回错误)。
Route:
路线:
Route::get('test/{id?}', 'TestController@index', function ($id = 5) {});
Controller:
控制器:
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'));
}
When my URL is /test/4
my Backbone.js code won't fetch from server (from this function) :
当我的 URL 是/test/4
我的 Backbone.js 代码不会从服务器(从这个函数)获取:
public function pitanja()
{
$pitanja = Cache::get('pitanja');
return $pitanja;
}
(URL in Backbone.js controller is url:'/testovi/pitanja'
)
(Backbone.js 控制器中的 URL 是url:'/testovi/pitanja'
)
回答by Half Crazed
Sorry, misread.
对不起,看错了。
You need to check the order of your routes.
您需要检查路线的顺序。
Route::get('test/{a?}', function($a = '0') {
echo $a;
});
works fine for me.
对我来说很好用。