Laravel CRUD,编辑和删除未找到 ID,但 ID 存在

Laravel CRUD, Edit and Delete ID Not Found, But ID Exist

这里是迁移。

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'));
    }

这是路线。

here

主要错误总是来自未找到 ID。尽管我的所有代码都是从第一个代码源复制和粘贴的,但第一个源代码一切顺利。和第三个源代码等等进展顺利。问题的根源总是在这一秒 table 即使我更改它的名称或从头开始它总是一样的。我的代码是否存在拼写错误、区分大小写或其他问题?

这是网络浏览器中的结果 here

您正在尝试实施 Implicit model binding 但您在控制器操作中有一些错误的变量名称。它应该与这样的路由占位符匹配

你的路线是这样的

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'));
}

它会自动获取模型记录,如果找不到记录则会return 404 错误。有关详细信息,请查看以上 link