/** * Método contendo o modelo básico de consultas para uso da classe. * * @return Select */ public function select() { $select = new Select(); $sqlDisciplina = new SqlMateria(); $sqlSerie = new SqlSerie(); return $select->columns(array('pk_materia_vin', 'materia_vin_video_apresentacao'))->join('public.serie', array('pk_serie' => "{$this->tg->getTabela()}.fk_serie"))->import($sqlSerie->select())->join('public.materia', array('pk_materia' => "{$this->tg->getTabela()}.fk_materia"))->import($sqlDisciplina->select()); }
/** * Método que gera um Select genérico para uso interno da classe * * @return Select Retorna um objeto contendo a base para as consultas */ public function select() { $t = $this->tg->getTabela(); $sqlUnidade = new SqlUnidade(); $sqlSerie = new SqlSerie(); $sqlTurma = new SqlTurma(); $sqlUsuario = new SqlUsuario(); $select = new Select($t); return $select->columns(array("pk_area_transf_dest" => "cod", "area_transf_dest_tipo" => "(case " . "when {$t}.fk_unidade!=0 then '" . Destinatario::UNIDADE . "' " . "when {$t}.fk_serie!=0 then '" . Destinatario::SERIE . "' " . "when {$t}.fk_turma!=0 then '" . Destinatario::TURMA . "' " . "else '" . Destinatario::USUARIO . "' " . "end)", "area_transf_dest_alvo" => "(case " . "when {$t}.fk_unidade!=0 " . "then ({$sqlUnidade->select()->columnsReset()->columns("unidade||''")->where("pk_unidade={$t}.fk_unidade")->limit(1)}) " . "when {$t}.fk_serie!=0 " . "then ({$sqlSerie->select()->columnsReset()->columns("serie||''")->where("pk_serie={$t}.fk_serie")->limit(1)}) " . "when {$t}.fk_turma!=0 " . "then ({$sqlTurma->select()->columnsReset()->columns("turma||''")->where("pk_turma={$t}.fk_turma")->limit(1)}) " . "else ({$sqlUsuario->select()->columnsReset()->columns("usuario||''")->where("pk_usuario={$t}.fk_usuario " . "and {$t}.fk_tipo_usuario=pk_tipo_usuario")->limit(1)}) " . "end)")); }
/** * Método que gera um select básico. Método auxiliar * @return Select Um select pre montado */ public function select() { $select = new Select($this->tg->getTabela()); $sqlSerie = new SqlSerie(); return $select->columns(array("turma_status" => "status", "turma_ano" => "ano", "pk_turma", "turma_nome"))->import($sqlSerie->select(), array("colunas"))->join("public.serie", array("pk_serie" => "public.turma.fk_serie"))->join("public.ensinos", array("pk_ensino" => "public.serie.ensino"))->join("public.curso", array("pk_curso" => "public.serie.fk_curso"))->join("public.unidade", array("pk_unidade" => "public.turma.fk_unidade")); }