Описание
У меня есть небольшая система управления пользователями и ролями, и я хочу, чтобы администратор мог изменять пароли и имена пользователей. Пока он работает с этим кодом в UsersController
:
public function update(request $request, User $user)
{
// dd($request);
//Save roles
$user->roles()->sync($request->roles);
//Save user
$user->name = $request->input("name");
if ($request->input('password')) {
$user->password = Hash::make($request->input('password'));
}
$user->save();
return redirect()->route("admin.users.index");
}
. Я создал запрос формы с именем UpdateUser
с помощью этой команды php artisan make:request UpdateUser
и перенес его в UsersController
с use App\Http\Requests\UpdateUser;
и изменено public function update(request $request, User $user)...
на public function update(UpdateUser $request, User $user)...
(я получил руководство по этому вопросу с с этого сайта )
UpdateUser
выглядит следующим образом и основные функции c должно быть, чтобы убедиться, что ввод пароля и подтверждение ввода пароля совпадают.
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class UpdateUser extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'name' => ['string', 'max:255', "unique:users"],
'password' => ["nullable", 'string', 'min:6', 'confirmed'],
'roles' => ['exists:roles,id'],
];
}
}
Проблема
Без UpdateUser
это работает. Я могу изменить имя, пароль и роль. Но с UpdateUser
я могу только изменить имя. Не могу изменить роль или пароль. Когда я пытаюсь изменить роль и / или пароль и отправить его, он только перезагружает страницу редактирования.
Так в чем может быть причина?
Вы можете найти весь мой репо здесь