<?php

namespace Koneko\SatCatalogs\Models;

use Illuminate\Database\Eloquent\Model;

class FormaPago extends Model
{
    /**
     * The table associated with the model.
     *
     * @var string
     */
    protected $table = 'sat_forma_pago';

    /**
     * The attributes that are mass assignable.
     *
     * @var string[]
     */
    protected $fillable = [
        'c_forma_pago',
        'descripcion',
        'bancarizado',
        'numero_de_operacion',
        'rfc_del_emisor_de_la_cuenta_ordenante',
        'cuenta_ordenante',
        'patron_para_cuenta_ordenante',
        'rfc_del_emisor_cuenta_de_beneficiario',
        'cuenta_de_benenficiario',
        'patron_para_cuenta_beneficiaria',
        'tipo_cadena_pago',
        'banco_emisor_de_la_cuenta_ordenante',
        'fecha_inicio_vigencia',
        'fecha_fin_vigencia',
    ];

    /**
     * The attributes that should be cast.
     *
     * @var array
     */
    protected $casts = [
        'fecha_inicio_vigencia' => 'datetime',
        'fecha_fin_vigencia' => 'datetime',
    ];

    public static function selectList()
    {
        return self::selectRaw('c_forma_pago, CONCAT(c_forma_pago, " - ", descripcion) as value')
            ->pluck('value', 'c_forma_pago');
    }
}
