在 Laravel 的路线内使用 {id}
User a {id} inside a route on Laravel
我需要在 URL 中间输入一个 ID 号码才能得到这个:
http://myapp.com/something/29/edit
现在,我有这个:
'user_link' => ['here.i.need.to.put.my.route.with.the.number]
我的号码来自$event->data->id
,有没有办法在路由中间"concatenate"一个号码?像
'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');
可以在路线的 name
中放置一个 {id} 吗?
您可以使用 route()
助手:
route('something.edit', ['id' => $event->data->id])
您不应该在路线名称中加入 id
。我认为这是不好的做法。
我建议你使用路由资源。
php artisan make:resource MyController -m Something
这样,您可以restful 路线:
my/index
my/create
my/store
my/{something}/edit
my/{something}/update
my/{something}/show
my/{something}/destroy
通过上述模式,您的编辑路径将为 /my/10/edit
,您的数据将被自动获取。
这样您就可以使用策略来确定当前正在更新的项目属于登录用户。
我需要在 URL 中间输入一个 ID 号码才能得到这个:
http://myapp.com/something/29/edit
现在,我有这个:
'user_link' => ['here.i.need.to.put.my.route.with.the.number]
我的号码来自$event->data->id
,有没有办法在路由中间"concatenate"一个号码?像
'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');
可以在路线的 name
中放置一个 {id} 吗?
您可以使用 route()
助手:
route('something.edit', ['id' => $event->data->id])
您不应该在路线名称中加入 id
。我认为这是不好的做法。
我建议你使用路由资源。
php artisan make:resource MyController -m Something
这样,您可以restful 路线:
my/index
my/create
my/store
my/{something}/edit
my/{something}/update
my/{something}/show
my/{something}/destroy
通过上述模式,您的编辑路径将为 /my/10/edit
,您的数据将被自动获取。
这样您就可以使用策略来确定当前正在更新的项目属于登录用户。