昨晚我尝试并检查了几次,试图在我的路线,模型,控制器,数据库和视图中寻找“ konsuman”。 但我什么也没找到。正确的值为“ konsumen”,但在浏览器中运行后显示错误
ErrorException (E_ERROR)
Missing required parameters for [Route: konsumen.update]
[URI: konsumen/{konsuman}]. (View: D:\xampp\htdocs
\skh\resources\views\konsumen\edit.blade.php).
我多次检查以确保其“ konsumen”不是“ konsuman”,而是laravel出现上述错误。
我的代码中是否有任何错误,或者还有其他错误。附上我的完整作品。
这是我在路由,模型,控制器,数据库和视图中完整代码的link。 谢谢您给予的关注
答案 0 :(得分:1)
您忘记为route('konsumen.update')
添加参数。
应为route('konsumen.update', ['konsuman' => $id])
$id
是您正在编辑的konsumen记录的ID。
答案 1 :(得分:0)
您忘了在kde_konsumen中写必填内容
$request->validate([
'kde_konsumen',
'nma_konsumen' => 'required',
'alm_konsumen' => 'required',
'tlp_konsumen' => 'required',
]);
到
$request->validate([
'kde_konsumen' => 'required',
'nma_konsumen' => 'required',
'alm_konsumen' => 'required',
'tlp_konsumen' => 'required',
]);
答案 2 :(得分:0)
尝试替换
中的表单操作标签值edit.blade.php
到<form action="{{ '/konsumen/'. $konsumen->kde_konsumen) }} " method="POST">
答案 3 :(得分:0)
这是在Laravel路径中使用resource
的一个缺点。它确实创建了所有CURD路线,但是您需要遵循自己的标准。
因此,当您创建
Route::resource('konsumen', 'KonsumenController');
这反过来生成了您可以在屏幕快照中看到的路线。
看一下update route
,它需要一个参数。
因此,无论您使用konsumen.update
路由是什么,都还需要传递参数konsuman
。
就像这样
route('konsumen.update', ['konsuman' => <someValue>])
就像@PhucLam所说的
答案 4 :(得分:0)
您缺少一件事。在您的控制器中,您正在接受$konsumen
模型对象。但是您没有定义$konsumen
将如何转换为模型对象。因为从URL获得ID。
要解决此问题,您需要在RouteServiceProvide
类中进行一些设置。下面是您需要在提供程序中添加的代码:-
public function boot()
{
Route::model('konsumen', \App\Konsumen::class);
parent::boot();
}
此后,您的代码将可用。