Alta de modificaciones de grupo con alumbnos y docentes

This commit is contained in:
2026-04-18 16:00:39 -06:00
parent c502d047e9
commit 2d73e8a2b0
34 changed files with 1256 additions and 247 deletions
+24 -1
View File
@@ -3,8 +3,31 @@
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
class Docente extends Model
{
//
protected $guarded = [];
public $timestamps = false;
// Relación con User
public function docentes(): BelongsToMany
{
return $this->belongsToMany(User::class);
}
// Relación con Grupo
public function grupos(): BelongsToMany
{
return $this->belongsToMany(Grupo::class, 'docente_grupo')
->withPivot('materia_id');
}
// Relación con Material
public function materias(): BelongsToMany
{
return $this->belongsToMany(Material::class, 'docente_grupo')
->withPivot('grupo_id');
}
}
+9 -4
View File
@@ -15,9 +15,14 @@ class Grupo extends Model
return $this->belongsToMany(Alumno::class);
}
public function plan()
{
return $this->belongsTo(Plan::class);
}
public function docentes(): BelongsToMany
{
return $this->belongsToMany(Docente::class, 'docente_grupo')
->withPivot('materia_id');
}
public function plan()
{
return $this->belongsTo(Plan::class);
}
}
+8 -2
View File
@@ -1,10 +1,16 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Materia extends Model
{
//
protected $guarded = [];
public function plan() { return $this->belongsTo(Plan::class); }
public function tareas() { return $this->hasMany(Tarea::class); }
public function docentes() {
return $this->belongsToMany(Docente::class, 'docente_grupo')
->withPivot('grupo_id');
}
}
+8 -2
View File
@@ -2,8 +2,8 @@
namespace App\Models;
use App\Models\Tarea;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
class Material extends Model
@@ -12,9 +12,15 @@ class Material extends Model
public $timestamps = false;
public function carreraMaterial() : BelongsToMany
// Relación con Carrera
public function carreraMaterial(): BelongsToMany
{
return $this->belongsToMany(Carrera::class);
}
// Tareas de esta materia
public function tareas()
{
return $this->hasMany(Tarea::class);
}
}
+19
View File
@@ -0,0 +1,19 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
class Material extends Model
{
protected $guarded = [];
public $timestamps = false;
// Relación con Carrera
public function carreraMaterial(): BelongsToMany
{
return $this->belongsToMany(Carrera::class);
}
}