我试图编辑/更新数据库中的数据。但总是会出现这种错误。
NotFoundHttpException in Handler.php line 102: No query results for model [App'Produk]
以下是controller
:中的函数
public function edit($id)
{
$data = Produk::findOrFail($id);
return view('pages.admin.edit')->with('data',$data);
}
public function update($id, Request $request)
{
$data = Produk::findOrFail($id);
$data->update($request->all());
return redirect('pages.admin.lihat');
}
这是我的edit.blade.php
表格:
{!! Form::model($data,['method'=>'PATCH','url' => 'admin/update']) !!}
<div class="contact-form">
<div class="form-group">
{!! Form::label('Nama Produk') !!}
{!! Form::text('nama', null,
array('required',
'class'=>'form-control',
'placeholder'=>'Nama Produk')) !!}
</div>
<div class="form-group">
{!! Form::label('Jumlah Produk') !!}
{!! Form::number('jumlah', null,
array('required',
'class'=>'form-control',
'placeholder'=>'Jumlah Produk')) !!}
</div>
<div class="form-group">
{!! Form::label('Harga') !!}
{!! Form::text('harga', null,
array('required',
'class'=>'form-control',
'placeholder'=>'Harga')) !!}
</div>
<div class="form-group">
{!! Form::label('Gambar') !!}
{!! Form::text('images', null,
array('required',
'class'=>'form-control',
'placeholder'=>'Gambar')) !!}
</div>
<div class="form-group">
{!! Form::submit('Edit',
array('class'=>'btn btn-primary')) !!}
</div>
</div>
{!! Form::close() !!}
我在我的routes
中使用了这个(第一个用于存储功能,所以与此更新无关):
Route::post('admin/success','ProdukController@simpan');
Route::resource('admin','ProdukController');
以及Produk
模型:
<?php
namespace App;
use Illuminate'Database'Eloquent'Model;
class Produk extends Model
{
protected $fillable =[
'nama',
'jumlah',
'harga',
'images'
];
}
发生这种情况会导致具有该id的数据无法退出$data = Produk::findOrFail($id)
。你可以使用Produk::find($id);
或data = Produk::where('id', $id)->first();
(它不会抛出错误)
阅读更多文档
您应该在打开表单时将id传递给url,尝试按如下方式更改:
{!! Form::model($data,['method'=>'PATCH','route' => ['admin.update', $data->id] ]) !!}