<?php

namespace App\Models\Admin;

use App\Models\TiposSecciones;
use App\Traits\HasSortsTrait;
use App\Traits\ImagenesGetterTrait;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\DB;

class Secciones extends Model
{
    use HasFactory, HasSortsTrait, ImagenesGetterTrait;
    protected $table = 'secciones';

    protected $fillable = [
        'titulo',
        'descripcion',
        'imagen',
        'estado',
        'borrador',
        'orden',
        'tipo_seccion_id',
        'interna_id'
    ];

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

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

    protected $appends = [
        'tipo_seccion',
        'image_large',
        'imagenes'
    ];

    public function getTipoSeccionAttribute()
    {
        if ($this->tipo_seccion_id)
            return TiposSecciones::where('id', $this->tipo_seccion_id)
                ->selectFillable()
                ->first();
    }

    public function scopeOrdenar($query, String $campo = 'orden')
    {
        $query->orderBy($campo, 'asc');
    }
}
