Я хочу указать роли вместе с подробностями этих ролей, такими как чтение, создание, обновление и удаление. Как изменить данные роли с помощью следующих критериев.
Это мои ожидания: role img
Это моя таблица ролей: таблица ролей
Это моя таблица user_role: Таблица user_role
Мой ответ json после нажатия кнопки Изменить: Ответ json
ЭтоМоя модель пользователя:
public function roles() {
return $this->belongsToMany('App\Role')->withPivot([
'rd',
'cr',
'up',
'dl'
]);
}
public function hasAnyRoles($roles) {
return null !== $this->roles()->whereIn('kd_role', $roles)->first();
}
public function hasAnyRole($role) {
return null !== $this->roles()->where('kd_role', $role)->first();
}
public function karyawan() {
return $this->hasOne('App\Karyawan', 'nik', 'nik');
}
public function roleUser() {
return $this->hasMany('App\RoleUser');
}
Это мой контроллер обновлений пользователя:
public function update(Request $request, $id) {
$user = User::find($id);
for($i = 0; $i < count($request->roleUser); $i++) {
$roleUser[] = [
'role_id' => $request->roleUser[$i],
'rd' => $request->rd[$i],
'cr' => $request->cr[$i],
'up' => $request->up[$i],
'dl' => $request->dl[$i],
'user_ins' => auth()->user()->nik,
];
}
RoleUser::insert($roleUser);
$user->roles()->sync($request->roleUser);
// return json_encode($roleUser);
return redirect('/users')->with('status', 'Data Berhasil Diperbarui!');
}
И это мое мнение:
<div class="col-sm-10">
@if ($roles->count())
@foreach($roles as $role)
<div class="custom-control custom-checkbox mb-3">
<div class="row">
<div class="col-sm-2">
<input name="roleUser[]" value="{{$role->id}}" {{ $user->hasAnyRole($role->kd_role)?'checked':'' }} id="customCheck{{$role->id}}" class="custom-control-input" type="checkbox">
<label class="custom-control-label" for="customCheck{{$role->id}}">{{$role->nm_role}}</label>
</div>
<div class="col-sm-10">
{{-- Testing --}}
<div class="custom-control custom-checkbox col d-inline mr-3">
<input value="true" name="rd" class="custom-control-input" {{ ($role['status']->rd == true)?'checked':'' }} id="customCheckR{{$role->id}}" type="checkbox">
<label class="custom-control-label" for="customCheckR{{$role->id}}">Read</label>
</div>
<div class="custom-control custom-checkbox col d-inline mr-3">
<input value="true" name="cr" class="custom-control-input" {{ ($role['status']->cr == true)?'checked':'' }} id="customCheckC{{$role->id}}" type="checkbox">
<label class="custom-control-label" for="customCheckC{{$role->id}}">Create</label>
</div>
<div class="custom-control custom-checkbox col d-inline mr-3">
<input value="true" name="up" class="custom-control-input" {{ ($role['status']->up == true)?'checked':'' }} id="customCheckU{{$role->id}}" type="checkbox">
<label class="custom-control-label" for="customCheckU{{$role->id}}">Update</label>
</div>
<div class="custom-control custom-checkbox col d-inline mr-3">
<input value="true" name="dl" class="custom-control-input" {{ ($role['status']->dl == true)?'checked':'' }} id="customCheckD{{$role->id}}" type="checkbox">
<label class="custom-control-label" for="customCheckD{{$role->id}}">Delete</label>
</div>
{{-- End Testing --}}
</div>
</div>
</div>
@endforeach
@endif
</div>
Спасибо.