我正在尝试创建一个名为promote()的编辑函数,它编辑userData表中的表值。这是我使用的表格<form method="post" action="{{action('PromotionsController@promote', $id )}}"> {{csrf_field()}} <input type="hidden" name="_method" value="PATCH" /> <input type="text" name="rank" class="'form-control" value="{{$rankid}}" readonly /> <input type="text" name="id" class="'form-control" value="{{$id}}" readonly /> <input type="submit" class="btn btn-primary" value="Promote" /> </form>值 $rankid 和 $id 已放置在表单中并准备提交。这是控制器的末端。 /** * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function promote(Request $request, $id) { $this->validate($request, [ 'rank' => 'required', 'id' => 'required' ]); $promotion= userData::find($id); $promotion->rank = $request->get('rank'); $promotion->id = $request->get('id'); $promotion->save(); return redirect()->route('home'); }我收到错误消息 App\Http\Controllers\PromotionsController::promote() 函数参数太少,已通过 1 个,预期有 2 个,有其他方法可以解决此问题吗?
1 回答
至尊宝的传说
TA贡献1789条经验 获得超10个赞
尝试这个 :
首先创建一条这样的路线
route::put('/promote/{id}')->name('promote.update');
和
<form method="post" action="{{route('promote.update',['id' => $id ])}}">
{{csrf_field()}}
<input type="hidden" name="_method" value="PUT" />
<input type="text" name="rank" class="'form-control" value="{{$rankid}}" readonly />
<input type="submit" class="btn btn-primary" value="Promote" />
</form>
- 1 回答
- 0 关注
- 112 浏览
添加回答
举报
0/150
提交
取消