Files
sistema-abogadas-litoral/app/Models/Profesional.php
T

94 lines
2.1 KiB
PHP

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Factories\HasFactory;
class Profesional extends Model
{
use HasFactory;
protected $table = 'profesionales';
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', 'id');
}
public function credencialProfesional()
{
return $this->belongsTo(CredencialeProfesionale::class, 'credencialprofesional_id', 'id');
}
public function estadoProfesional()
{
return $this->belongsTo(EstadoProfesional::class, 'estadoprofesional_id', '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, 'profesional_formulario', 'profesional_id', 'formulario_id')
->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', 'profesional_id', 'cliente_id')
->withPivot('estadorelacion')
->withTimestamps();
}
}