在Laravel的路线内用户{id}

时间:2017-10-13 15:35:00

标签: php laravel routes blade

我需要在网址中间添加一个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中吗?

2 个答案:

答案 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,您的数据将自动获取。

这样您就可以使用策略来确定当前正在更新的项目属于登录用户。