php - 如何在 Laravel 中更新
问题描述
我在我的 Laravel 应用程序中实施更新时遇到了一些问题。在我的刀片文件中,我有一个模式,在其中显示 . 每一行作为一个按钮,打开另一个模式,每个字段都应该更新。所以这是刀片文件:
<form action="{{ action('AnamController@update', $par->id_par) }}" method="put" class="form-horizontal">
{{csrf_field()}}
<input name="input_name" value="Par" hidden />
<div class="col-lg-12">
<div class="form-group">
<label class="control-label col-lg-4">Name:</label>
<div class="col-lg-6">
<input id="name" name="name" type="text" class="form-control" value="{{$par->name}}"/>
</div>
</div>
</div>
<!--other things-->
</form>
但这返回给我一个错误。“此集合实例上不存在属性 [id_par]”,如果我在按下按钮编辑以打开模式时插入一个 foreach 语句,我总是会看到数据库中存在的第一个字段。那我该怎么办?
谢谢
编辑 这是路线:
Route::post('/anam/{id}, AnamController@update')->name('anam');
编辑 2 我尝试实现更新功能以查看更新是否有效。但我有错误 MethodNotAllowedHttpException
这是我写的:
public function update(Request $request, $id){
$par = Par::find($id);
$par->name = $request->input('name');
$par->save();
return redirect('/anam');
}
解决方案
首先对于更新,您需要更改form
元素方法应该是post
,然后在表单中@method('put')
为较新的 laravel 版本或较旧的版本添加刀片指令{{ method_field('PUT') }}
。
请分享更多代码,而不仅仅是视图,这样我们就可以看到导致错误的原因。
推荐阅读
- javascript - 在 Mapbox 中使用添加地址添加多个标记
- enums - 如何在使用带有整数列表的 Enum.chunk_every 时删除转义字符
- mysql - MySQL 8:使用 JSON_TABLE 的子查询不起作用,除非手动输入子查询结果
- typescript - Dart Flutter 联合字符串类型
- android - 在编写请求 json 对象的函数时,在 Kotlin 中出现错误“Expecting body class”
- flutter - 当 FirebaseAuth 实例启动时,它会在 Flutter 表单上给出错误
- c++ - 如何从函数模板的实例化推断模板参数?
- intersection - 使用 GeoPandas Python 用 shapefile 屏蔽 netcdf 文件
- javascript - 在 javascript 中选择一个选项并搜索该段落
- c++ - 如何在 RapidsAI Docker 容器中编译 C++