Laravel 8 blade 路线
Laravel 8 Route in blade
我的 Laravel 项目中有以下网络路由
Route::resource('client/{client}/users', UserController::class);
Route::resource('users', UserController::class);
对于后者,我可以在我的 blade 文件中使用 {{ route('users.create') }}
,但我不确定为另一个文件添加什么。
我需要用两种方式分离资源,因为有些用户能够从他们自己的客户端 (/users) 和其他客户端 (/client/123/users) 的用户编辑用户
`php artisan route:list 表明我为两者取了相同的名字。 clients-users 资源的正确命名方式是什么?
| | GET|HEAD | client/{client}/users | users.index | App\Http\Controllers\UserController@index | web |
| | | | | | App\Http\Middleware\Authenticate:sanctum |
| | | | | | Illuminate\Auth\Middleware\EnsureEmailIsVerified |
| | POST | client/{client}/users | users.store | App\Http\Controllers\UserController@store | web |
| | | | | | App\Http\Middleware\Authenticate:sanctum |
| | | | | | Illuminate\Auth\Middleware\EnsureEmailIsVerified |
| | GET|HEAD | client/{client}/users/create | users.create | App\Http\Controllers\UserController@create | web |
| | | | | | App\Http\Middleware\Authenticate:sanctum |
| | | | | | Illuminate\Auth\Middleware\EnsureEmailIsVerified |
| | PUT|PATCH | client/{client}/users/{user} | users.update | App\Http\Controllers\UserController@update | web |
| | | | | | App\Http\Middleware\Authenticate:sanctum |
| | | | | | Illuminate\Auth\Middleware\EnsureEmailIsVerified |
| | DELETE | client/{client}/users/{user} | users.destroy | App\Http\Controllers\UserController@destroy | web |
| | | | | | App\Http\Middleware\Authenticate:sanctum |
| | | | | | Illuminate\Auth\Middleware\EnsureEmailIsVerified |
| | GET|HEAD | client/{client}/users/{user} | users.show | App\Http\Controllers\UserController@show | web |
| | | | | | App\Http\Middleware\Authenticate:sanctum |
| | | | | | Illuminate\Auth\Middleware\EnsureEmailIsVerified |
| | GET|HEAD | client/{client}/users/{user}/edit | users.edit | App\Http\Controllers\UserController@edit | web |
| | | | | | App\Http\Middleware\Authenticate:sanctum |
| | | | | | Illuminate\Auth\Middleware\EnsureEmailIsVerified |
和
| | GET|HEAD | users | users.index | App\Http\Controllers\UserController@index | web |
| | | | | | App\Http\Middleware\Authenticate:sanctum |
| | | | | | Illuminate\Auth\Middleware\EnsureEmailIsVerified |
| | GET|HEAD | users/create | users.create | App\Http\Controllers\UserController@create | web |
| | | | | | App\Http\Middleware\Authenticate:sanctum |
| | | | | | Illuminate\Auth\Middleware\EnsureEmailIsVerified |
| | DELETE | users/{user} | users.destroy | App\Http\Controllers\UserController@destroy | web |
| | | | | | App\Http\Middleware\Authenticate:sanctum |
| | | | | | Illuminate\Auth\Middleware\EnsureEmailIsVerified |
| | PUT|PATCH | users/{user} | users.update | App\Http\Controllers\UserController@update | web |
| | | | | | App\Http\Middleware\Authenticate:sanctum |
| | | | | | Illuminate\Auth\Middleware\EnsureEmailIsVerified |
| | GET|HEAD | users/{user} | users.show | App\Http\Controllers\UserController@show | web |
| | | | | | App\Http\Middleware\Authenticate:sanctum |
| | | | | | Illuminate\Auth\Middleware\EnsureEmailIsVerified |
| | GET|HEAD | users/{user}/edit | users.edit | App\Http\Controllers\UserController@edit | web |
| | | | | | App\Http\Middleware\Authenticate:sanctum |
| | | | | | Illuminate\Auth\Middleware\EnsureEmailIsVerified |
你需要给它起个名字。也就是说,我认为您不希望 Route::resource
用于该路线。
我会给它起个名字clients.users.index
,但你可以给它起任何你想要的名字。
Route::get('clients/{client}/users', [ClientController::class, 'users'])->name('clients.users.index');
{{ route('clients.users.index') }}
处理嵌套资源的方法是声明路由:
Route::resource('clients.users', SomeOtherController::class);
resource
的第三个参数是一个选项数组,其中一个允许您指定前缀。
Route::resource('client/{client}/users', UserController::class, ['as' => 'clients']);
Route::resource('users', UserController::class);
现在你的路线应该是
clients.users.{action}
users.{action}
我的 Laravel 项目中有以下网络路由
Route::resource('client/{client}/users', UserController::class);
Route::resource('users', UserController::class);
对于后者,我可以在我的 blade 文件中使用 {{ route('users.create') }}
,但我不确定为另一个文件添加什么。
我需要用两种方式分离资源,因为有些用户能够从他们自己的客户端 (/users) 和其他客户端 (/client/123/users) 的用户编辑用户
`php artisan route:list 表明我为两者取了相同的名字。 clients-users 资源的正确命名方式是什么?
| | GET|HEAD | client/{client}/users | users.index | App\Http\Controllers\UserController@index | web |
| | | | | | App\Http\Middleware\Authenticate:sanctum |
| | | | | | Illuminate\Auth\Middleware\EnsureEmailIsVerified |
| | POST | client/{client}/users | users.store | App\Http\Controllers\UserController@store | web |
| | | | | | App\Http\Middleware\Authenticate:sanctum |
| | | | | | Illuminate\Auth\Middleware\EnsureEmailIsVerified |
| | GET|HEAD | client/{client}/users/create | users.create | App\Http\Controllers\UserController@create | web |
| | | | | | App\Http\Middleware\Authenticate:sanctum |
| | | | | | Illuminate\Auth\Middleware\EnsureEmailIsVerified |
| | PUT|PATCH | client/{client}/users/{user} | users.update | App\Http\Controllers\UserController@update | web |
| | | | | | App\Http\Middleware\Authenticate:sanctum |
| | | | | | Illuminate\Auth\Middleware\EnsureEmailIsVerified |
| | DELETE | client/{client}/users/{user} | users.destroy | App\Http\Controllers\UserController@destroy | web |
| | | | | | App\Http\Middleware\Authenticate:sanctum |
| | | | | | Illuminate\Auth\Middleware\EnsureEmailIsVerified |
| | GET|HEAD | client/{client}/users/{user} | users.show | App\Http\Controllers\UserController@show | web |
| | | | | | App\Http\Middleware\Authenticate:sanctum |
| | | | | | Illuminate\Auth\Middleware\EnsureEmailIsVerified |
| | GET|HEAD | client/{client}/users/{user}/edit | users.edit | App\Http\Controllers\UserController@edit | web |
| | | | | | App\Http\Middleware\Authenticate:sanctum |
| | | | | | Illuminate\Auth\Middleware\EnsureEmailIsVerified |
和
| | GET|HEAD | users | users.index | App\Http\Controllers\UserController@index | web |
| | | | | | App\Http\Middleware\Authenticate:sanctum |
| | | | | | Illuminate\Auth\Middleware\EnsureEmailIsVerified |
| | GET|HEAD | users/create | users.create | App\Http\Controllers\UserController@create | web |
| | | | | | App\Http\Middleware\Authenticate:sanctum |
| | | | | | Illuminate\Auth\Middleware\EnsureEmailIsVerified |
| | DELETE | users/{user} | users.destroy | App\Http\Controllers\UserController@destroy | web |
| | | | | | App\Http\Middleware\Authenticate:sanctum |
| | | | | | Illuminate\Auth\Middleware\EnsureEmailIsVerified |
| | PUT|PATCH | users/{user} | users.update | App\Http\Controllers\UserController@update | web |
| | | | | | App\Http\Middleware\Authenticate:sanctum |
| | | | | | Illuminate\Auth\Middleware\EnsureEmailIsVerified |
| | GET|HEAD | users/{user} | users.show | App\Http\Controllers\UserController@show | web |
| | | | | | App\Http\Middleware\Authenticate:sanctum |
| | | | | | Illuminate\Auth\Middleware\EnsureEmailIsVerified |
| | GET|HEAD | users/{user}/edit | users.edit | App\Http\Controllers\UserController@edit | web |
| | | | | | App\Http\Middleware\Authenticate:sanctum |
| | | | | | Illuminate\Auth\Middleware\EnsureEmailIsVerified |
你需要给它起个名字。也就是说,我认为您不希望 Route::resource
用于该路线。
我会给它起个名字clients.users.index
,但你可以给它起任何你想要的名字。
Route::get('clients/{client}/users', [ClientController::class, 'users'])->name('clients.users.index');
{{ route('clients.users.index') }}
处理嵌套资源的方法是声明路由:
Route::resource('clients.users', SomeOtherController::class);
resource
的第三个参数是一个选项数组,其中一个允许您指定前缀。
Route::resource('client/{client}/users', UserController::class, ['as' => 'clients']);
Route::resource('users', UserController::class);
现在你的路线应该是
clients.users.{action}
users.{action}