示例#1
0
 /**
  * Método que gera um select genérico para uso da classe.
  *
  * @return Select Um select genérico
  */
 public function select()
 {
     $sqlFuncUsuario = new SqlFuncaoUsuario();
     $sqlPerfil = new SqlPerfil();
     $select = new Select($this->tg->getTabela());
     return $select->columns(array('nome', 'email', 'foto', 'nick', 'sexo', 'cpf', 'logradouro', 'latitude', 'longitude', 'cep', 'complemento', 'numero', 'bairro', 'cidade', 'uf', 'usuario_rg' => 'identidade', 'data_nasc'), 'usuario_')->columns('pk_usuario')->join('public.funcao_usuario', array('pk_funcao_usuario' => "{$this->tg->getTabela()}.fk_funcao_usuario"), Join::LEFT_JOIN)->import($sqlFuncUsuario->select())->join('public.usuario_tipo_vin', array('fk_usuario' => 'pk_usuario'))->join('public.tipo_usuario', array('pk_tipo_usuario' => 'public.usuario_tipo_vin.fk_tipo_usuario'))->import($sqlPerfil->select());
 }
示例#2
0
 /**
  * Método que retorna os responsaveis associados ao coordenador informado
  * 
  * @param Coordenador $coordenador O coordenador usado como filtro
  * @param Filtros $filtros Objeto do sistema de filtros
  * 
  * @return ResultSetHydrator Retorna um objeto contendo a resposta da consulta
  */
 public function deCoordenador(Coordenador $coordenador, Filtros $filtros)
 {
     $sqlFuncUsuario = new SqlFuncaoUsuario();
     $sqlPerfil = new SqlPerfil();
     $where = "public.usuario_tipo_vin.fk_usuario={$coordenador->getId()}";
     $selAlunos = new Select("public.usuario_aluno");
     $selAlunos->columns(array("pk_aluno" => "public.usuario_aluno.fk_usuario"))->join("public.turma_vin", array("fk_turma" => "public.usuario_aluno.fk_turma"))->join("public.coordenacao", array("pk_coordenacao" => "fk_coordenacao"))->join("public.coordenacao_vin", array("fk_coordenacao" => "pk_coordenacao"))->join("public.usuario_tipo_vin", array("pk_usuario_tipo_vin" => "fk_usuario_tipo_vin"));
     $this->filtrosUEST($selAlunos, $where, $filtros, "public.turma_vin.fk_turma");
     $select = new Select(array("alunos" => $selAlunos->where($where)));
     //Retornando a consulta
     return $this->tg->selectObj($select->import($this->select(), array("colunas"))->join("public.usuario_aluno", array("fk_usuario" => "pk_aluno"))->join("public.usuario_responsavel_vin", array("fk_usuario_aluno" => "pk_usuario_aluno"))->join("public.usuario_responsavel", array("pk_usuario_responsavel" => "fk_usuario_responsavel"))->join("public.usuario", array("pk_usuario" => "public.usuario_responsavel.fk_usuario"))->join('public.funcao_usuario', array('pk_funcao_usuario' => "{$this->tg->getTabela()}.fk_funcao_usuario"), Join::LEFT_JOIN)->import($sqlFuncUsuario->select())->join('public.usuario_tipo_vin', array('fk_usuario' => 'pk_usuario'))->join('public.tipo_usuario', array('pk_tipo_usuario' => 'public.usuario_tipo_vin.fk_tipo_usuario'))->import($sqlPerfil->select())->distinct("public.usuario.pk_usuario"));
 }