72 lines
1.5 KiB
PHP
72 lines
1.5 KiB
PHP
<?php
|
|
namespace Incoviba\nuevo\Venta;
|
|
|
|
use Incoviba\Common\Alias\NewModel;
|
|
use Incoviba\nuevo\Common\Direccion;
|
|
use Incoviba\Common\Definition\hasRUT;
|
|
|
|
/**
|
|
*
|
|
* @author Aldarien
|
|
* @property string nombres
|
|
* @property string apellido_paterno
|
|
* @property string apellido_materno
|
|
* @property int direccion_id
|
|
* @property int telefono
|
|
* @property Propietario representante_rut
|
|
* @property Propietario otro_rut
|
|
*
|
|
*/
|
|
class Propietario extends NewModel
|
|
{
|
|
use hasRUT;
|
|
|
|
protected static $_table = 'propietarios';
|
|
|
|
public function direccion()
|
|
{
|
|
return $this->belongsTo(Direccion::class, 'direccion_id')->findOne();
|
|
}
|
|
public function representante()
|
|
{
|
|
$prop = $this->belongsTo(Propietario::class, 'representante_rut', 'rut');
|
|
if ($prop) {
|
|
return $prop->findOne();
|
|
}
|
|
return null;
|
|
}
|
|
public function otro()
|
|
{
|
|
$prop = $this->belongsTo(Propietario::class, 'otro_rut', 'rut');
|
|
if ($prop) {
|
|
return $prop->findOne();
|
|
}
|
|
return null;
|
|
}
|
|
|
|
public function nombreCompleto()
|
|
{
|
|
return implode(' ', [$this->nombres, $this->apellido_paterno, $this->apellido_materno]);
|
|
}
|
|
|
|
public function represntado()
|
|
{
|
|
$prop = $this->has_many(Propietario::class, 'representante_rut', 'rut');
|
|
if ($prop) {
|
|
return $prop->findOne();
|
|
}
|
|
return null;
|
|
}
|
|
public function ventas()
|
|
{
|
|
return $this->hasMany(Venta::class, 'propietario_rut', 'rut')->findMany();
|
|
}
|
|
public function articulo()
|
|
{
|
|
if ($this->sexo == 'f') {
|
|
return 'la';
|
|
}
|
|
return 'el';
|
|
}
|
|
}
|