我需要在网址中间添加一个ID号来获取此信息:
http://myapp.com/something/29/edit
现在,我有这个:
'user_link' => ['here.i.need.to.put.my.route.with.the.number]
我的号码来自$event->data->id
,有没有办法在路线中间“连接”一个数字?像
'user_link' => ['something.{id}.edit]
'user_link' => ['something.'.$event->data->id .'.edit] <-- I I do that Laravel shows an error: Route [something.{107}.edit] not defined
有问题的路线是:
Route::get('something/{id}/edit/', 'MyController@edit')->name('something.edit');
可以将{id}放在路线的name
中吗?
答案 0 :(得分:5)
您可以使用route()
帮助:
route('something.edit', ['id' => $event->data->id])
答案 1 :(得分:0)
您不应在路由名称中添加id
。在我看来这是不好的做法。
我建议您使用路由资源。
php artisan make:resource MyController -m Something
这样,你可以安静的路线:
my/index
my/create
my/store
my/{something}/edit
my/{something}/update
my/{something}/show
my/{something}/destroy
按照上述模式,您的修改路线将为/my/10/edit
,您的数据将自动获取。
这样您就可以使用策略来确定当前正在更新的项目属于登录用户。