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
这里是迁移。
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