//Открепляем роли
$detach = $user->roles()->detach();
//Прикрепляем и деактивируем
if ($role_id=$request->input('role_id')) {
foreach ($role_id as $id) {
$user->roles()->attach($id);
$user->roles()->updateExistingPivot($id, ['active' => $false]);
}
}
//Активируем
if ($active_role_id=$request->input('active_role_id')) {
foreach ($active_role_id as $id) {
$user->roles()->updateExistingPivot($id, ['active' => $true]);
}
}
public function activeRoles()
{
return $this->roles()->wherePivot('active',(new Role)->getStatusID('active'));
}
(new Role)->getStatusID('active')
public function getDataTypes($type)
{
if ($type == 'user') return ['name' =>"Пользовательский", 'id'=>4];
$makeup = new Makeup;
if ($type == 'yes') return ['name' =>"Избранное", 'id'=>1, 'makeup_id'=>$makeup->color('green')];
if ($type == 'see') return ['name' =>"Просмотрено", 'id'=>2, 'makeup_id'=>$makeup->color('blue')];
if ($type == 'not') return ['name' =>"Не показывать", 'id'=>3, 'makeup_id'=>$makeup->color('red')];
}
public function getDataTypes($type)
{
if ($type == 'user') return ['name' =>"Пользовательский", 'id'=>4];
$makeup = new Makeup;
if ($type == 'yes') return ['name' =>"Избранное", 'id'=>1, 'makeup_id'=>$makeup->color('green')];
if ($type == 'see') return ['name' =>"Просмотрено", 'id'=>2, 'makeup_id'=>$makeup->color('blue')];
if ($type == 'not') return ['name' =>"Не показывать", 'id'=>3, 'makeup_id'=>$makeup->color('red')];
}
const TYPE_ID__USER = 4;
const TYPE_ID__FAVORITE = 1;
const TYPE_ID__SEEN = 2;
const TYPE_ID__HIDDEN = 3;
public function getNameByType($typeId)
{
$name = '';
switch($typeId){
case self::TYPE_ID__USER:
$name = 'Пользовательский';
break;
case self::TYPE_ID__FAVORITE :
$name = 'Избранное';
break;
case self::TYPE_ID__SEEN :
$name = 'Просмотрено';
break;
case self::TYPE_ID__HIDDEN :
$name = 'Не показывать';
break;
}
return $name;
}
ну и для make up такой же метод
public function getNameByType($typeId)
{
$data = '';
switch($typeId){
case self::TYPE_ID__USER:
$data = ['name' =>Пользовательский', 'makeup_id' => Makeup::ID__GREEN];
break;
}
return $data;
}
public static function getDataTypes() {
return [
self::TYPE_ID__USER => ['name' =>Пользовательский', 'makeup_id' => Makeup::ID__GREEN],
];
}
public static function getDataTypeById($typeId){
return self::getDataTypes()[$typeId]
}
//и в коде будет красота и простота рефакторинга
Model::getDataTypeById(Model::TYPE_ID__USER)
При блокировке, подразумевается блокировка.
Я могу быть заблокированным админом. Не могу?
просто непозволительно каждый раз грохать пермиссии
блин.. везде есть недостатки/преимущества
использовать для других целей. Например для логов
{
roles: {'admin','moder'}
}
Файл сохраняется
$data['back'] = response()->json($roles);