Laravel CRUD, редактировать и удалять ID не найден, но ID существует - PullRequest
0 голосов
/ 24 сентября 2018

Вот миграция.

Schema::create('ruanganjns', function (Blueprint $table) {
            $table->increments('id');
            $table->string('kode_jenis_ruangan');
            $table->string('jenis_ruangan');
            $table->date('tgl_berlaku');
            $table->string('status');
            $table->timestamps();
        });

Вот модель.

protected $table = 'ruanganjns';
    protected $fillable = ['kode_jenis_ruangan','jenis_ruangan','tgl_berlaku','status'];
    public $timestamps = true;
    public function Ruangan()
    {
        return $this->HasMany('App\Ruangan','id_ruangan');
    }

вот код редактирования контроллера.

public function edit(Ruanganjns $ruanganjns)
    {
        $ruanganjns = Ruanganjns::findOrFail($ruanganjns->id);
        return view('ruanganjns.edit', compact('ruanganjns'));
    }

вот маршрут.

здесь

Основная ошибка всегда происходит из-за не найденного идентификатора.даже если весь мой код скопирован и вставлен из первого исходного кода, но первый исходный код все идет хорошо.и третий исходный код и так далее идет хорошо.источник проблемы всегда в этой второй таблице, даже если я изменяю ее имя или делаю ее с самого начала, она всегда одна и та же.есть ли ошибки или регистр или что-то не так с моим кодом?

это результат в веб-браузере здесь

1 Ответ

0 голосов
/ 24 сентября 2018

Вы пытаетесь реализовать Неявное связывание модели , но у вас неверное имя переменной в действии контроллера.Он должен совпадать с местозаполнителем маршрута следующим образом:

Ваш маршрут выглядит следующим образом

Route::get('admin/ruangjns/{ruangjn}/edit', 'RuanganjnsController@edit');

Тогда код действия вашего контроллера должен выглядеть следующим образом

public function edit(Ruanganjns $ruangjn)  //here $ruangjn should match with route placeholder
{
    return view('ruanganjns.edit', compact('ruangjn'));
}

Он автоматически выбираетсязапись модели, и если запись не найдена, возвращается ошибка 404.Для получения подробной информации проверьте ссылку выше

...