簡體   English   中英

404 未找到編輯和更新 LARAVEL 6

[英]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');

需要你們的幫助,謝謝

查看 資源控制器

在此處輸入圖像描述

您正在尋找的是Route::post('/edit/{id}','rendezv@update'); putpatch

請添加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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM