/** * Create a new profile composer. * * @param Resquest $request * @return void */ public function __construct(Request $request) { $this->menus = Menu::where('ativo', 1)->get(); // Dependencies automatically resolved by service container... $usuario = $request->user(); $grupos = []; $grupos_usuario = UsuarioGrupo::where('usuario', $usuario->id)->get(); if ($grupos_usuario) { foreach ($grupos_usuario as $g) { $grupos[] = $g->grupo; } } $grupos_permissao = GrupoPermissao::where('grupo', $grupos)->get(); if ($grupos_permissao) { foreach ($grupos_permissao as $gp) { $this->permissao[] = $gp->menu; } } }
public function updateUsuarioGrupo($usuario, $grupos) { $retorno = true; // removo os grupos que não estão nessa listagem UsuarioGrupo::where('usuario', $usuario)->whereNotIn('grupo', $grupos)->delete(); // loop nos grupos informados foreach ($grupos as $grupo) { // incluo se o grupo não existir if (UsuarioGrupo::where('usuario', $usuario)->where('grupo', $grupo)->count() == 0) { $usuarioGrupo = new UsuarioGrupo(); $usuarioGrupo->usuario = $usuario; $usuarioGrupo->grupo = $grupo; if (!$usuarioGrupo->save()) { $retorno = false; break; } } } return $retorno; }