我正在尝试使用 Laravel 更新我的数据。我能够创建、读取、删除数据,但不知何故我无法更新我的数据。我已经检查了我的控制器、模型、路线和视图,但我认为没有任何错字或任何东西。尽管我输入了新的输入,但它仅重定向到其索引页面而没有更新。根本没有错误消息,所以我检查了问题出在哪里。所以我在控制器中检查了我的更新函数,并尝试显示请求,echo "$request->kode_kontak";但echo $request->kode_kontak;它没有显示任何内容,我认为它是空/空的,但是当我echo "yes"它在屏幕上显示“是”时,我对此进行了测试,因为我想知道函数本身是否正常工作,所以这里的问题是请求包含空,难怪我无法更新它。为什么请求没有通过?为什么会这样?以及如何解决它?
编辑和更新路径
Route::get('contact/{contact}/edit', 'ContactController@edit')->name('contact.edit');
Route::patch('contact/{contact}','ContactController@update')->name('contact.update');
具有编辑和更新功能的控制器
use Illuminate\Http\Request;
use App\Contact;
use DB;
public function edit($kode_kontak){
$contact = DB::table('contact')->where('kode_kontak',$kode_kontak)->get();
return view('contact.edit',['contact' => $contact]);
}
public function update(Request $request){
DB::table('contact')->where('kode_kontak',$request->kode_kontak)->update([
'email' => $request->email,
'telepon' => $request->telepon,
]);
return redirect('contact');
}
模型
class Contact extends Model
{
public $timestamps = false;
protected $table = 'contact';
protected $fillable = [
'kode_kontak',
'kode_pegawai',
'email',
'telepon'
];
protected $primaryKey = 'kode_kontak';
}
Qyouu
SMILET