<?php namespace App\Models\Tabelas\Ensino; use App\Models\Curso; use App\Models\Disciplina; use App\Queries\PlanejamentoQuery; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; class EnsinoAula extends Model { use HasFactory; /** * References table ensino_aulas * * @var string */ protected $table = 'ensino_aulas'; /** * The attributes that are mass assignable. * * @var array */ protected $fillable = ['pad_id', 'cod_atividade', 'componente_curricular', 'curso', 'nivel', 'modalidade', 'ch_semanal', 'ch_total']; /** * cod_dimensao from planejamento table * @var array */ private $codesDimensao = ['E-1', 'E-2', 'E-3']; /** * @return array */ public function orientacaoPreenchimento() { return [ 'descricao' => ['item' => '1.', 'descricao' => 'Ensino (Aulas em componentes curriculares)'], 'componente_curricular' => ['item' => 'Nome do Componente:', 'descricao' => 'Nome do componente curricular como descrito no PPC do curso'], 'curso' => ['item' => 'Curso:', 'descricao' => 'Nome do curso ao qual o componente curricular pertence'], 'nivel' => ['item' => 'Nível:', 'descricao' => 'Preencher o nível do curso ao qual o componente curricular pertence, sendo as opções: Graduação, Pós-graduação Stricto Sensu, Pós-Graduação Lato Sensu'], 'modalidade' => ['item' => 'Modalidade:', 'descricao' => 'Preencher a modalidade que o componente curricular é ofertado, sendo as opções: Presencial e EAD'], 'ch_semanal' => ['item' => 'Carga Horária Semanal:', 'descricao' => 'Carga horária total efetiva exercida pelo docente dentro do componente curricular dividida pelo número de semanas que o mesmo ocorre'], 'ch_total' => ['item' => 'Carga Horária Total:', 'descricao' => 'Carga horária total efetiva exercida pelo docente dentro do(s) componente(s) curricular (es)'], ]; } /** * Get PAD with pad.id = ensino_aulas.pad_id * * @return PAD */ public function pad() { return $this->belongsTo(PAD::class); } // /** // * Get Curso with curso.id = ensino_aulas.curso_id // * // * @return Curso // */ // public function curso() // { // return $this->belongsTo(Curso::class); // } // /** // * Get Disciplina with diciplina.id = ensino_aulas.displina_id // * // * @return Disciplina // */ // public function disciplina() // { // return $this->belongsTo(Disciplina::class); // } /** * Get Disciplina with diciplina.id = ensino_aulas.displina_id * * @return Disciplina */ public function disciplina() { return $this->belongsTo(Disciplina::class, 'componente_curricular'); } /** * @return array */ public function getPlanejamentos() { $query = new PlanejamentoQuery(); return $query->whereInCodDimensao($this->codesDimensao)->get(); } }