Him, I'm a newbie in Programming and Laravel, I can't seem to get this to work and I'm stuck on this issue.
UserController:
public function update(UpdateUserRequest $request, User $user, $username)
{
$validate = $request->validated();
if(!empty($validate['password'])) {
$validate['password'] = Hash::make($validate['password']);
} else {
unset($validate['password']);
}
// User::update($validate);
$user = User::find($username);
$user->name = $request->name;
$user->password = $request->$validate['password'];
$user->roles = $request->roles;
$user->title = $request->title;
$user->save();
return back('users')->with('success', "Update User '.$user->name.' was successful!");
}
UpdateUserRequest:
public function authorize(): bool
{
return true;
}
public function rules(): array
{
return [
'name' => 'required|min:4',
'password' => 'sometimes|max:50',
'roles' => 'required',
'title' => 'required|min:5'
];
}
Route:
Route::resource('users', UserController::class)->middleware('auth');
View:
<!-- Modal -->
@foreach($users as $u)
<div class="modal fade" id="updateUserModal{{ $u->username }}" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title text-dark">Update User</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<hr>
<div class="modal-body">
<form action="{{ url('users/'.$u->username) }}" method="POST">
@csrf
@method('PUT')
<div class="row">
<div class="col-lg-6">
<div class="row mb-3">
<label class="col-sm-4 text-dark col-form-label">Name</label>
<div class="col-sm-8">
<input type="text" class="form-control" name="name" value="{{ $u->name }}" autofocus required>
</div>
</div>
</div>
<div class="col-lg-6">
<div class="row mb-3">
<label class="col-sm-4 text-dark col-form-label">Password</label>
<div class="col-sm-8">
<input type="password" class="form-control" name="password">
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-6">
<div class="row mb-3">
<label class="col-sm-4 text-dark col-form-label">Roles</label>
<div class="col-sm-8">
<select class="form-control selectric" name="roles" required>
<option value="" selected>Please Choose an Option</option>
<option value="1" {{ ($u->roles == '1') ? 'selected' : '' }}>Admin</option>
<option value="2" {{ ($u->roles == '2') ? 'selected' : '' }}>User</option>
</select>
</div>
</div>
</div>
<div class="col-lg-6">
<div class="row mb-3">
<label class="col-sm-4 text-dark col-form-label">Title</label>
<div class="col-sm-8">
<input type="text" class="form-control" name="title" value="{{ $u->title }}" required>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<button type="reset" class="btn btn-danger">Reset</button>
<button type="submit" class="btn btn-primary">Create</button>
</div>
</form>
</div>
</div>
</div>
</div>
@endforeach