[ 'abas' => collect(), ], ]; $funcionalidadeId = DB::table('administracao_funcionalidade') ->select(['administracao_funcionalidade.id']) ->where('administracao_funcionalidade.identificador', $request->funcionalidade) ->whereExists(fn ($q) => $q->select(DB::raw(1)) ->from('administracao_modulo') ->where('administracao_modulo.identificador', $request->modulo) ->whereColumn('administracao_modulo.id', 'administracao_funcionalidade.modulo_id') ) ->first()->id ?? null; if (!is_null($funcionalidadeId)) { AcessoFuncionalidade::create(['funcionalidade_id' => $funcionalidadeId]); $response['dados_funcionalidade']['abas'] = DB::table('intranet.cadastro_funcionalidade_aba') ->select([ 'cadastro_funcionalidade_aba.nome', 'cadastro_funcionalidade_aba.texto', ]) ->join('intranet.cadastro_funcionalidade', 'cadastro_funcionalidade.id', 'cadastro_funcionalidade_aba.funcionalidade_id') ->join('intranet.cadastro_modulo', 'cadastro_modulo.id', 'cadastro_funcionalidade.modulo_id') ->where('cadastro_modulo.identificador', $request->modulo) ->where('cadastro_funcionalidade.identificador', $request->funcionalidade) ->get(); } return $response; } }