php - 路由无法从表单中获取 id(缺少 [Route: update_user] 所需的参数)
问题描述
当我转到页面时:blog.local/user/1
它返回此错误:
[Route: update_user] [URI: user/{user}/update] 缺少必需的参数。(查看:C:\xampp\htdocs\blog\resources\views\login_pages\user.blade.php)
这是视图user.blade.php
:
<h2 class="mypositionclass" > welcome user: {{$user->surname . " " . $user->name}}</h2>
<hr>
<div style="text-align: center" >
{{Form::open(['route'=>'update_user' , 'id' => $user->id]) }}
<div>
{{Form::label('name','Name: ',['style'=>'h3'])}}<br>
{{Form::text('name','',['class'=>'input', 'placeholder'=>'insert name..'])}}
</div>
<div>
{{Form::label('surname','Surname: ',['style'=>'h3'])}}<br>
{{Form::text('surname','',['class'=>'input', 'placeholder'=>'insert surname..'])}}
</div>
<div>
{{Form::label('email','Email: ',['style'=>'h3'])}}<br>
{{Form::email('email','',['class'=>'input', 'placeholder'=>'insert email..'])}}
</div>
<div>
{{Form::label('password','Password: ',['style'=>'h3'])}}<br>
{{Form::password('passeword',['class'=>'input', 'placeholder'=>'insert password..'])}}
</div>
<div>
{{Form::submit('update',['class'=>'button', 'style' => 'background-color: blue'])}}<br><br>
{{Form::close()}}
</div>
</div>
这是路线:
Route::post('/user/{user}/update', 'Login_pageController@update')->name('update_user');
这是update()
来自的功能Login_pageController.php
:
public function update(Request $request, $id)
{
$request::validate([
'name'=>'required',
'surname'=>'required',
'email'=>'required',
'password'=>'required'
]);
$user=User::findOrFail($id);
$user->name= $request->name;
$user->surname= $request->surname;
$user->email= $request->email;
$user->password= $request->password;
$user->save();
return view('login_pages.login_page');
}
解决方案
您可以使用仅删除'id' =>
:
{{ Form::open(['route'=>'update_user', $user->id]) }}
或将其作为数组传递:
{{ Form::open([ 'route'=>'update_user' , ['id' => $user->id] ]) }}
请注意,当您想要进行更新时,LaravelCollective 也有表单模型绑定。
通常,您会希望根据模型的内容来填充表单。为此,请使用以下
Form::model
方法:
{{ Form::model($user, ['route' => ['update_user', $user->id]]) }}
现在,当您生成表单元素(如文本输入)时,与字段名称匹配的模型值将自动设置为字段值。
推荐阅读
- reactjs - 我如何在 ReactJS 中制作和事件并发出警报?
- qualtrics - 有没有办法从选择组中清除选择并在 Qualtrics 中对问题进行排名
- mongodb - mongodb更新参数存在的地方
- python - 返回主键是另一个表的外键的表,SQL Alchemy
- powershell - 有没有办法通过 windows cmd 在幕后(隐藏)运行 Elasticsearch 和 Kibana?
- python - 从现有数据帧的每一行创建新数据帧的 Pythonic 方法
- json - 如何从 JSON 转换为 julia 中的参数嵌套结构?
- git - 有没有办法禁止在本地创建具有特定名称的 git 分支?
- leaflet - 修改 R-leaflet 中 Leaflet.markercluster 的颜色
- ssl - 安装后 Go Daddy SSL 证书在 IIS 中消失