<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

/**
 * @property integer $id_factura_cab
 * @property int $id_socio
 * @property string $ruc
 * @property string $empresa
 * @property string $num_documento
 * @property string $tipo_documento
 * @property string $fecha_ingreso
 * @property string $metodo_pago
 * @property integer $id_deuda
 * @property float $subtotal
 * @property float $descuento
 * @property float $iva
 * @property float $total
 * @property string $aud_ing_usuario
 * @property string $aud_ing_estacion
 * @property string $aud_ing_fecha_hora
 * @property string $aud_mod_usuario
 * @property string $aud_mod_estacion
 * @property string $aud_mod_fecha_hora
 * @property string $created_at
 * @property string $updated_at
 * @property CoSocio $coSocio
 * @property CtClienteCredito[] $ctClienteCreditos
 * @property CtClienteDeuda[] $ctClienteDeudas
 * @property CtFacturaDet[] $ctFacturaDets
 */
class CtFacturaCab extends Model
{
    /**
     * The table associated with the model.
     * 
     * @var string
     */
    protected $table = 'ct_factura_cab';

    /**
     * The primary key for the model.
     * 
     * @var string
     */
    protected $primaryKey = 'id_factura_cab';

    /**
     * The "type" of the auto-incrementing ID.
     * 
     * @var string
     */
    protected $keyType = 'integer';

    /**
     * @var array
     */
    protected $fillable = ['id_socio', 'ruc', 'empresa', 'num_documento', 'tipo_documento', 'fecha_ingreso', 'metodo_pago', 'id_deuda', 'subtotal', 'descuento', 'iva', 'total', 'aud_ing_usuario', 'aud_ing_estacion', 'aud_ing_fecha_hora', 'aud_mod_usuario', 'aud_mod_estacion', 'aud_mod_fecha_hora', 'created_at', 'updated_at'];

    /**
     * @return \Illuminate\Database\Eloquent\Relations\BelongsTo
     */
    public function coSocio()
    {
        return $this->belongsTo('App\CoSocio', 'id_socio', 'IdSocios');
    }

    /**
     * @return \Illuminate\Database\Eloquent\Relations\HasMany
     */
    public function ctClienteCreditos()
    {
        return $this->hasMany('App\CtClienteCredito', 'id_factura_cab', 'id_factura_cab');
    }

    /**
     * @return \Illuminate\Database\Eloquent\Relations\HasMany
     */
    public function ctClienteDeudas()
    {
        return $this->hasMany('App\CtClienteDeuda', 'id_factura_cab', 'id_factura_cab');
    }

    /**
     * @return \Illuminate\Database\Eloquent\Relations\HasMany
     */
    public function ctFacturaDets()
    {
        return $this->hasMany('App\CtFacturaDet', 'id_factura_cab', 'id_factura_cab');
    }
}
