【问题标题】:How to call controller update method from blade laravel?如何从刀片 laravel 调用控制器更新方法?
【发布时间】:2020-09-04 03:47:44
【问题描述】:
form method="put" action="{{URL::action('siteController@update')}}" accept-charset="UTF-8"></form>
Route::post('site/update/{id}', 'siteController@update');
 public function update(Request $request, $id)
    {
        //

            $this->validate($request,[
            'Name'          => 'required',
            'Description'   => 'required',
            'Status'        => 'required'           
            ]);
            $Data               = site::find($id);
            $Data->Name         = $request->Name;
            $Data->Description  = $request->Description;
            $Data->Status       = $request->Status;
            if($Data->save())                   
            {
                return $this->index();
            }else{
                return redirect()->back()->withErrors($errors,$this->errorBag());
            }
    }

【问题讨论】:

    标签: php laravel laravel-routing


    【解决方案1】:

    试试这个,

    <form method="post" action="{{ url('site/update/', ['id' => $id]) }}">
    @csrf
    add your form field here and use button type submit
    </form>
    

    【讨论】:

    • Illuminate\Routing\Exceptions\UrlGenerationException::forMissingParameters
    • 加载时出错。 Illuminate\Routing\Exceptions\UrlGenerationException::forMissingParameters
    • 分享您用于此表单操作的网络路由
    【解决方案2】:

    通过为您的路线添加一个名称,例如

    Route::post('site/update/{id}', 'siteController@update')->name('site-update');
    

    它允许你在不知道的情况下生成它的 URL

    <form method="post" action="{{ route('site-update', compact('id')) }}">
    @csrf
    add your form field here and use button type submit
    </form>
    

    即使您决定更改 URL,只要名称保持不变,route 助手也不会在意(它只是一个别名)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-26
      • 2020-08-19
      • 2021-12-18
      • 1970-01-01
      • 2021-09-26
      • 2019-02-06
      • 1970-01-01
      • 2019-09-23
      相关资源
      最近更新 更多