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

时间:2016-03-31 05:51:59

标签: php laravel laravel-5

我尝试在数据库中编辑/更新我的数据。但总是得到这个错误。

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'

    ];
}

2 个答案:

答案 0 :(得分:0)

发生这种情况导致具有该ID的数据不会退出$data = Produk::findOrFail($id)。您可以使用Produk::find($id);data = Produk::where('id', $id)->first();(它不会引发错误)

documentation

了解详情

答案 1 :(得分:0)

您应该在表单开头将id传递给url尝试按以下方式更改它:

{!! Form::model($data,['method'=>'PATCH','route' => ['admin.update', $data->id] ]) !!}