繁体   English   中英

Laravel足智多谋的路线错误

[英]Laravel resourceful route error

我收到了一个资源丰富的路由错误,我无法理解..因此,基本上在我的路由文件中,这是可行的:

Route::get('siswa', 'SiswaCont@index');
Route::get('siswa/create', 'SiswaCont@create');
Route::post('siswa', 'SiswaCont@store');
Route::get('siswa/{id}', 'SiswaCont@show');
Route::get('siswa/{id}/edit', 'SiswaCont@edit');
Route::patch('siswa/{id}', 'SiswaCont@update');
Route::delete('siswa/{id}', 'SiswaCont@destroy');

但是当我将其更改为单行资源时:

Route::resource('siswa', 'SiswaCont');

它在Handler.php第103行错误中生成NotFoundHttpException,对模型[App \\ Siswa]没有查询结果。

有人知道怎么修这个东西吗?

切换到资源控制器时,请不要忘记参数名称也会更改

在您的情况下,新的路由将是siswa/{siswa} ,而不是siswa/{id}

当您想保留自己的结构时,请使用以下示例:

Route::resource('siswa', 'SiswaCont', ['parameters' => [
    'siswa' => 'id'
]]);

给定的代码将ResourceController的默认参数更改为另一个开发人员定义的值(本例中为id ),该默认值是控制器名称的单数形式(在您的情况下为siswa )。

这将保留您当前的结构,因为参数现在相同,并且应该修复NotFoundHttp异常。 有关此代码示例的更多信息,请参见文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM