我的用戶的“編輯”操作有問題。我可以創建新用戶,但無法更新它們。
- 這是我在 UserController 中的編輯方法
/**
* Show the form for editing the specified resource.
*
* @param \App\User $user
* @return \Illuminate\Http\Response
*/
public function edit($userID)
{
//
$user = User::query()->findOrFail($userID);
$roles = Role::pluck('nombre_rol','id');
$departments = Department::all(['id','department_name']);
return view('user.edit',compact('user','roles','departments'));
}
- 這是 UserController 中的更新方法
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param \App\User $user
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $usuarioID)
{
$user = User::query()->findOrFail($usuarioID);
$user->update($request->only('name','email','password', 'roles', 'departament_id'));
$user->roles()->sync($request->roles);
return back()->with('Success','Usuario actualizado con éxito');
}
- 這是編輯的視圖
<body id="bodyForm">
<div class="container">
<h2 class="text-center txt-unam-gold">@lang('edit.Editar') @lang('edit.Usuario')</i></h1>
<h4 class="text-center text-secondary">{{$user->name}}</h1>
<br>
<form method="POST" action="{{route('Usuario.update', $user->id)}} hljs-string">" enctype="multipart/form-data"">
{!! method_field('PUT') !!}
@include('user.form')
<!--Roles-->
<br>
<div class="row justify-content-center text-center">
<div class="col-md-6">
<h5 class="txt-unam text-center text-primary">@lang('edit.Roles')</h5>
@foreach($roles as $id => $name)
<input type="checkbox" value="{{$id}}" {{$user->roles->pluck('id')->contains($id) ? 'checked' : ''}} name="roles[]">
{{ $name }}
@endforeach
</div>
</div>
<br>
<div hljs-string">">
<button hljs-string">" type="submit" value="Acttualizar">@lang('edit.Actualizar')</button>
<button hljs-string">" onclick="cancel()" value="Cancelar">@lang('edit.Cancelar')</button>
</div>
</form>
</div>
</body>
- 這是我
@include在編輯視圖中的形式。
<div class="row justify-content-center py-3">
<div class="col-md-5 mr-2">
<label class="txt-unam text-primary" for="name">@lang('form.Nombre')</label>
<input value="{{isset($user->name)?$user->name:old('name')}}" required type="text" name="name" id="name" hljs-string">">
</div>
<div hljs-number">5">
<label hljs-string">" for="email">@lang('form.Correo')</label>
<input value="{{isset($user->email)?$user->email:old('email')}}" required type="text" name="email" id="email" hljs-string">">
</div>
</div>
<div hljs-number">1">
<div hljs-number">5 mr-2">
<label hljs-string">">@lang('form.Contrase?a')</label>
<input value="{{--decrypt($usuario->password) ?? old('password')--}}" hljs-string">" type="password" name="password" id="password">
</div>
<div hljs-number">5">
<label hljs-string">">@lang('form.Seleccionar')</label>
<select name="department_id" id="department_id" hljs-string">">
<option selected disabled value="">@lang('form.Seleccionar')</option>
@foreach ($departments as $department)
<option value="{{$department->id}}">{{$department->department_name}}</option>
@endforeach
</select>
</div>
</div>
- 當我按下編輯按鈕時,我收到錯誤:
419 頁面已過期
- 用戶表結構的影像
用戶表
uj5u.com熱心網友回復:
HTML 表單僅支持 POST 和 GET,因此如果您想執行更新操作,@method('PUT')您需要在開始和結束表單標簽之間添加,然后@csrf在表單標簽內添加
<form method="POST" action="{{route('user.update', $user->id)}} hljs-string">" enctype="multipart/form-data"">
@method('PUT')
@csrf
</form>
uj5u.com熱心網友回復:
如果您在提交編輯表單后收到此錯誤,請放在@csrf后面 {!! method_field('PUT') !!}
它應該喜歡,
<form method="POST" action="{{route('Usuario.update', $user->id)}} hljs-string">" enctype="multipart/form-data"">
{!! method_field('PUT') !!}
@csrf // For lower version use - {{ csrf_field() }}
@include('user.form')
<!--Roles-->
<br>
<div class="row justify-content-center text-center">
<div class="col-md-6">
<h5 class="txt-unam text-center text-primary">@lang('edit.Roles')</h5>
@foreach($roles as $id => $name)
<input type="checkbox" value="{{$id}}" {{$user->roles->pluck('id')->contains($id) ? 'checked' : ''}} name="roles[]">
{{ $name }}
@endforeach
</div>
</div>
<br>
<div hljs-string">">
<button hljs-string">" type="submit" value="Acttualizar">@lang('edit.Actualizar')</button>
<button hljs-string">" onclick="cancel()" value="Cancelar">@lang('edit.Cancelar')</button>
</div>
</form>
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/404888.html
標籤:
上一篇:使用API和Laravel獲取值
下一篇:從特定字符中修剪PHP字串
