Se comenzó a programar seeders y modelos (las migraciones ya están terminadas)

This commit is contained in:
Lucho
2026-03-10 16:41:34 -03:00
parent 55fc8aa0a8
commit 6c9d79115b
19 changed files with 651 additions and 0 deletions
+10
View File
@@ -0,0 +1,10 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Factories\HasFactory;
class LogSeguridad extends Model
{
}
+42
View File
@@ -0,0 +1,42 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Factories\HasFactory;
class Persona extends Model
{
use HasFactory;
protected $table = 'personas';
protected $fillable = [
'dni',
'nombre',
'apellido',
'cuil',
'fechanac',
'foto_id',
];
public function Foto()
{
return $this->belongsTo(Foto::class, 'foto_id');
}
public function profesionales()
{
return $this->hasMany(Profesional::class, 'persona_id');
}
public function cliente()
{
return $this->hasOne(Cliente::class, 'persona_id');
}
public function telefonos()
{
return $this->belongsToMany(Telefono::class, 'personas_telefonos', 'persona_id', 'telefono_id');
}
}
+23
View File
@@ -0,0 +1,23 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Factories\HasFactory;
class Profesion extends Model
{
use HasFactory;
protected $table = 'profesiones';
protected $fillable =[
'titulo',
'visible_en_formulario',
];
public function profesionales()
{
return $this->hasMany(Profesional::class, 'profesion_id');
}
}
+91
View File
@@ -0,0 +1,91 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Factories\HasFactory;
class Profesional extends Model
{
use HasFactory;
protected $fillable = [
'matricula',
'correo',
'credencialprofesional_id',
'estadoprofesional_id',
'persona_id',
'baja_id',
'profesion_id',
];
//Pertenece a
public function profesion()
{
return $this->belongsTo(Profesion::class, 'profesion_id');
}
public function credencialProfesional()
{
return $this->belongsTo(CredencialeProfesionale::class, 'credencialprofesional_id');
}
public function estadoProfesional()
{
return $this->belongsTo(EstadoProfesional::class, 'estadoprofesional_id');
}
public function persona()
{
return $this->belongsTo(Persona::class, 'persona_id');
}
public function baja()
{
return $this->belongsTo(Baja::class, 'baja_id');
}
//Tiene una
public function agenda()
{
return $this->hasOne(Agenda::class, 'profesional_id');
}
public function turnos()
{
return $this->hasMany(Turno::class, 'profesional_id');
}
public function documentacionesClientes()
{
return $this->hasMany(DocumentacionCliente::class, 'profesional_id');
}
//tablas intermedias
public function formularios()
{
return $this->belongsToMany(Formulario::class, 'profesionales_formularios')
->withPivot('estadoformulario')
->withTimestamps();
}
public function servicios()
{
return $this->belongsToMany(Servicio::class, 'profesionales_servicios', 'profesional_id', 'servicio_id');
}
public function clientes()
{
return $this->belongsToMany(Cliente::class, 'profesionales_cliente')
->withPivot('estadorelacion')
->withTimestamps();
}
}
+50
View File
@@ -0,0 +1,50 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Factories\HasFactory;
class Servicio extends Model
{
use HasFactory;
protected $fillable = [
'titulo',
'estado',
'descripcion',
'profesion_id',
'foto_id',
];
//pertenece a
public function contenido()
{
return $this->belongsTo(Contenido::class, 'contenido_id');
}
public function profesion()
{
return $this->belongsTo(Profesion::class, 'profesion_id');
}
public function foto()
{
return $this->belongsTo(Foto::class, 'foto_id');
}
// Tiene un
public function formulario()
{
return $this->hasOne(Formulario::class, 'servicio_id');
}
//Tablas intermedias
public function profesional()
{
return $this->belongsToMany(Profesional::class, 'profesional_servicio', 'servicio_id', 'profesional_id');
}
}