<?php

namespace App\Models;

use App\Traits\HasSortsTrait;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class ListasDifusion extends Model
{
    use HasFactory, HasSortsTrait;

    protected $table = 'listas_difusion';

    protected $fillable = [
        'nombres',
        'apellidos',
        'nombres_apellidos',
        'correo',
        'empresa_id',
        'estado'
    ];

    protected $dates = [
        'created_at',
        'updated_at'
    ];

    protected $casts = [
        'created_at' => 'datetime:d-m-Y H:i:s',
        'updated_at' => 'datetime:d-m-Y H:i:s',
    ];

    protected $appends = [
        'slug'
    ];

    public function getSlugAttribute()
    {
        if ($this->nombres_apellidos) {
            return str_slug($this->nombres_apellidos);
        }
    }

    public function grupos()
    {
        return $this->belongsToMany(
            GrupoSuscriptor::class,
            'grupos_suscriptores_listas_difusion',
            'lista_difusion_id',
            'grupo_suscriptor_id'
        );
    }
}
