92 lines
2.0 KiB
PHP
92 lines
2.0 KiB
PHP
<?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();
|
|
}
|
|
|
|
}
|