<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Factories\HasFactory;

class Formulario extends Model
{
    use HasFactory;
    protected $table = 'formularios';
    
    protected $fillable = [
       'descripcion',
       'nombrecompleto',
       'correo',
       'celular',
         'ip_origen',
       'estado',
       'profesion_id',
       'servicio_id',
       'modalidad_id',
       'profesional_id',
       'cliente_id',
       'fechaenvio',
    ];

    public function modalidad() 
    {
        return $this->belongsTo(Modalidad::class, 'modalidad_id', 'id');
    } 

    public function profesion() 
    {
        return $this->belongsTo(Profesion::class, 'profesion_id', 'id');
    } 

    public function servicio() 
    {
        return $this->belongsTo(Servicio::class, 'servicio_id', 'id');
    } 

    public function cliente() 
    {
        return $this->belongsTo(Cliente::class, 'cliente_id', 'id');
    } 

    public function profesional() 
    {
        return $this->belongsToMany(Profesional::class, 'profesionales_formularios', 'formulario_id', 'profesional_id')
                    ->withPivot('estadoformulario')
                    ->withTimestamps();
    }

    public function diasPreferidos()
    {
        return $this->belongsToMany(DiaPreferencia::class, 'formularios_diaspreferidos', 'formulario_id', 'diapreferencia_id');
    }
    
    public function horariosPreferidos()
    {
        return $this->belongsToMany(HorarioPreferencia::class, 'formularios_horariospreferidos', 'formulario_id', 'horariopreferencia_id');
    }

}
