【问题标题】:404 NOT FOUND EDIT AND UPDATE LARAVEL 6404 未找到编辑和更新 LARAVEL 6
【发布时间】:2020-05-17 04:01:16
【问题描述】:

在 URL 中传递变量以编辑和更新表单时,它只返回 404 not found ,教程没有帮助我,所以这是我的代码:

控制器: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');

需要你们的帮助,谢谢

【问题讨论】:

  • 请提供错误回复
  • 404 没找到这是我得到的
  • 请提供完整的路由文件
  • 我做到了你现在可以检查一下
  • 您是否获得了 404 更新?还是既编辑又更新?

标签: php laravel edit


【解决方案1】:

看看Resource Controllers

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

【讨论】:

    【解决方案2】:

    请添加update的路由

    Route::patch('/update/{id}','rendezv@update');
    

    404 用于编辑和更新 findOrFail() 方法。您正在传递 string 'id' 而不是 $id

    editer方法中请替换

    $rdv= rendezvous::findOrFail('id');
    

    $rdv= rendezvous::findOrFail($id);
    

    update方法中请替换

    $editer=rendezvous::findOrFail('id');
    

    $editer=rendezvous::findOrFail($id);
    

    此外,如果在给定的$id 中找不到数据,findOrFail() 方法将返回 404

    【讨论】:

    • 是的,即使我改变了它们,它也没有找到返回 404,我猜是 $id 中的错误
    【解决方案3】:

    你的路由/update/{{$modifier-&gt;id}}不存在,你需要在你的路由文件中声明它:

    Route::post('/update/{id}','rendezv@update');
    

    【讨论】:

      【解决方案4】:

      您错过了一条发布路线:

      Route::post('/edit/{id}','rendezv@update');
      

      【讨论】:

        猜你喜欢
        • 2020-04-16
        • 1970-01-01
        • 2022-06-15
        • 1970-01-01
        • 2020-05-07
        • 2020-09-02
        • 2021-03-21
        • 2019-10-20
        • 2021-02-27
        相关资源
        最近更新 更多