[英]Hi guys, I'm new to Laravel... encountering "404 NOT FOUND" for Laravel update/edit
[英]404 NOT FOUND EDIT AND UPDATE LARAVEL 6
在 URL 中傳遞變量以編輯和更新它只返回 404 未找到的表單時,教程對我沒有幫助,所以這是我的代碼:
controller:rendezv.php
public function editer ($id) {
$rdv= rendezvous::findOrFail('id');
return view ('/edit', ['modifier'=>$rdv]);
}
public function update(Request $request ,$id)
{
$this->validate($request, [
'email' => 'required' ,
'tel' => 'required'
]);
//modifier rendez vous
$editer=rendezvous::findOrFail('id');
$editer->Email = $request->input('email');
$editer->tel = $request->input('tel');
$editer-> save();
return redirect('/index');
}
這個edit.blade.php
<form action="/update/{{$modifier->id}}" method="post" role="form" data-aos="fade-up">
@csrf
<input type="hidden" name="_method" value="PATCH" />
<input placeholder="{{$modifier->Email}}" type="email" class="form-control" name="email" id="email" data-msg="Please enter your name " />
<input placeholder="{{$modifier->Numéro_de_téléphone}} " type="text" class="form-control" name="tel" id="subject" data-rule="minlen:8" data-msg="Please enter at least 8 numbers" /> </i>
<div id="buttons">
<button type="submit" class="btn btn-primary"> modifier </button>
</div>
</form>
最后路線:
Route::get('/rendezvous_{ID}', 'doctor@rdv');
Route::post('/rdv','rendezv@rdv');
Route::post('/bienvenu','doctor@authentification')->name('aziz');
Route::get('/edit/{id}','rendezv@editer');
需要你們的幫助,謝謝
請添加update
路線
Route::patch('/update/{id}','rendezv@update');
findOrFail()
方法的編輯和更新都會得到404
。 您傳遞的是string
'id'
而不是$id
。
在editer
方法中請替換
$rdv= rendezvous::findOrFail('id');
和
$rdv= rendezvous::findOrFail($id);
在update
方法中請更換
$editer=rendezvous::findOrFail('id');
和
$editer=rendezvous::findOrFail($id);
此外,如果沒有找到具有給定$id
的數據, findOrFail()
方法將返回404
您缺少一條發布路線:
Route::post('/edit/{id}','rendezv@update');
您的路由/update/{{$modifier->id}}
不存在,您需要在路由器文件中聲明它:
Route::post('/update/{id}','rendezv@update');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.