Laravel Route:route :: resource

时间:2017-06-06 08:19:27

标签: laravel routes resources

我在laravel非常新, 我正在学习一些教程

此代码工作正常

Route::group(['middleware' => 'web'], function() {
    Route::resource('tes', 'TesController');
});
<form action="{{ route('tes.destroy',3) }}" method="post">

直到我像这样修改它

Route::resource('tes/keren', 'TesController');

<form action="{{ route('tes/keren.destroy',3) }}" method="post">

它说tes / keren.destroy undefined .... 只是简单的问题,我应该修改,我可以使用/

进行路由

谢谢

3 个答案:

答案 0 :(得分:0)

route()帮助程序使用路由名称来构建URL,因此您应该这样做:

<form action="{{ route('keren.destroy', 3) }}" method="post">

您可以使用以下命令查看所有可用的路线和路线名称:

php artisan route:list

答案 1 :(得分:0)

route辅助函数将路由名称作为参数。更改路径网址后,路径名称已从keren.destroy更改为tes.destroy。因此,您需要将表单操作更改为

<form action="{{ route('keren.destroy', 3) }}" method="post">

如果您想检查路线名称,只需从终端/控制台运行php artisan route:list即可。在这种情况下,它应该显示这样的东西。

| GET|HEAD  | tes/keren              | keren.index   | App\Http\Controllers\TesController@index   | web          |
| POST      | tes/keren              | keren.store   | App\Http\Controllers\TesController@store   | web          |
| GET|HEAD  | tes/keren/create       | keren.create  | App\Http\Controllers\TesController@create  | web          |
| GET|HEAD  | tes/keren/{keren}      | keren.show    | App\Http\Controllers\TesController@show    | web          |
| PUT|PATCH | tes/keren/{keren}      | keren.update  | App\Http\Controllers\TesController@update  | web          |
| DELETE    | tes/keren/{keren}      | keren.destroy | App\Http\Controllers\TesController@destroy | web          |
| GET|HEAD  | tes/keren/{keren}/edit | keren.edit    | App\Http\Controllers\TesController@edit    | web          |

答案 2 :(得分:0)

Route::resource('url/resource-route','ResouceControllerName')最后一段作为资源名称&amp;然后自动为它建立路线。

当您使用Route::resource('tes', 'TesController');时,它会构建 tes 资源的路由(例如 tes.store ,t es.create tes.destroy 等)

但是,当您更改到此Route::resource('tes/keren', 'TesController');

的路线时

它将所有路线绑定到 keren 资源。

因此请在您的刀片文件中使用它。

<form action="{{ route('keren.destroy', 3) }}" method="post">