【问题标题】:resource route doesnt work properly in laravel 6资源路线在 laravel 6 中无法正常工作
【发布时间】:2020-01-28 02:39:23
【问题描述】:

我最近为我的一个项目安装了 laravel 6。不幸的是,资源路由无法正常工作。

我想引导用户到这条路线:admin/user/{user}/edit

但它转到 /admin/admin/user//edit?id=userid 或 /admin/admin/user/1/edit

我的资源路线:

Route::group(['namespace'=>'Admin','middleware'=>['auth','IsVerified'],'prefix'=>'admin'],function(){

    route::resource('/user','UserController');

});

我的href="{{route('user.edit',['id'=>$user->id])}}"

即使我测试 -> href="{{route('user.edit',$user->id)}}".

我在 laravel 5.6/7/8 中没有遇到这个问题

【问题讨论】:

标签: php laravel routes resources laravel-6


【解决方案1】:

检查php artisan r:l。您会看到路由需要 {user} 参数,而不是 {id}

# Assume $user->id = 1
route('user.edit', ['user' => $user->id]) // yields: user/1/edit
route('user.edit', ['id' => $user->id])   // yields: user//edit?id=1

至于分组,试试:

Route::prefix('admin')->middleware(['auth', 'IsVerified'])->namespace('Admin')->group(function() {
    Route::resource('user', 'UserController');
});

【讨论】:

    【解决方案2】:

    把你的href改成这个

    {{ route('user.edit', ['user' => $user]) }}
    

    【讨论】:

    • 单行解决方案最好作为注释 -- 除非您想在答案中添加详细信息,说明为什么您的一行代码可以解决问题并解释 OP 代码的问题所在。跨度>
    猜你喜欢
    • 1970-01-01
    • 2018-01-17
    • 2017-10-15
    • 2019-03-18
    • 1970-01-01
    • 2016-12-05
    • 2018-04-25
    相关资源
    最近更新 更多