Handler.php第102行中的NotFoundHttpException:没有模型[App..]的查询结果


NotFoundHttpException in Handler.php line 102: No query results for model [App....]

我试图编辑/更新数据库中的数据。但总是会出现这种错误。

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] ]) !!}