old models
This commit is contained in:
117
src/old/Venta/Propiedad.php
Normal file
117
src/old/Venta/Propiedad.php
Normal file
@ -0,0 +1,117 @@
|
||||
<?php
|
||||
namespace Incoviba\old\Venta;
|
||||
|
||||
use Incoviba\Common\Alias\OldModel as Model;
|
||||
use Incoviba\nuevo\Venta\Propiedad as P;
|
||||
use Incoviba\nuevo\Venta\UnidadPropiedad;
|
||||
|
||||
/**
|
||||
*
|
||||
* @property int id
|
||||
* @property Unidad unidad_principal
|
||||
* @property string estacionamientos
|
||||
* @property string bodegas
|
||||
* @property int estado
|
||||
*
|
||||
*/
|
||||
class Propiedad extends Model
|
||||
{
|
||||
private $estacionamientos_arr = null;
|
||||
private $bodegas_arr = null;
|
||||
|
||||
public function unidad()
|
||||
{
|
||||
return $this->belongs_to(Unidad::class, 'unidad_principal')->findOne();
|
||||
}
|
||||
protected $unidades;
|
||||
public function unidades() {
|
||||
if ($this->unidades == null) {
|
||||
$this->unidades = $this->hasMany(PropiedadUnidad::class, 'propiedad')->findMany();
|
||||
}
|
||||
return $this->unidades;
|
||||
}
|
||||
protected $departamentos;
|
||||
public function departamentos() {
|
||||
if ($this->departamentos == null) {
|
||||
$this->departamentos = array_map(function($item) {
|
||||
return $item->unidad();
|
||||
}, array_filter($this->unidades(), function($item) {
|
||||
return ($item->unidad()->tipo()->descripcion == 'departamento');
|
||||
}));
|
||||
}
|
||||
return $this->departamentos;
|
||||
}
|
||||
public function estacionamientos($mod = null)
|
||||
{
|
||||
if ($this->estacionamientos_arr == null) {
|
||||
if (($unidades = $this->unidades()) !== false) {
|
||||
$estacionamientos = array_filter($unidades, function($item) {
|
||||
return ($item->unidad()->tipo()->descripcion == 'estacionamiento');
|
||||
});
|
||||
$this->estacionamientos_arr = array_map(function($item) {
|
||||
return $item->unidad();
|
||||
}, $estacionamientos);
|
||||
} else {
|
||||
$ests = explode(';', $this->estacionamientos);
|
||||
$estacionamientos = [];
|
||||
foreach ($ests as $e) {
|
||||
$estacionamiento = \Model::factory(Unidad::class)->findOne($e);
|
||||
if ($estacionamiento) {
|
||||
$estacionamientos []= $estacionamiento;
|
||||
}
|
||||
}
|
||||
$this->estacionamientos_arr = $estacionamientos;
|
||||
}
|
||||
}
|
||||
if ($mod != null) {
|
||||
switch ($mod) {
|
||||
case 'array':
|
||||
$result = [];
|
||||
foreach ($this->estacionamientos_arr as $est) {
|
||||
$result []= $est->descripcion;
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
return $this->estacionamientos_arr;
|
||||
}
|
||||
public function bodegas($mod = null)
|
||||
{
|
||||
if ($this->bodegas_arr == null) {
|
||||
if (($unidades = $this->unidades()) !== false) {
|
||||
$bodegas = array_filter($unidades, function($item) {
|
||||
return ($item->unidad()->tipo()->descripcion == 'bodega');
|
||||
});
|
||||
$this->bodegas_arr = array_map(function($item) {
|
||||
return $item->unidad();
|
||||
}, $bodegas);
|
||||
} else {
|
||||
$bods = explode(';', $this->bodegas);
|
||||
$bodegas = [];
|
||||
foreach ($bods as $b) {
|
||||
$bodega = \Model::factory(Unidad::class)->findOne($b);
|
||||
if ($bodega) {
|
||||
$bodegas []= $bodega;
|
||||
}
|
||||
}
|
||||
$this->bodegas_arr = $bodegas;
|
||||
}
|
||||
}
|
||||
if ($mod != null) {
|
||||
switch ($mod) {
|
||||
case 'array':
|
||||
$result = [];
|
||||
foreach ($this->bodegas_arr as $bod) {
|
||||
$result []= $bod->descripcion;
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
return $this->bodegas_arr;
|
||||
}
|
||||
public function venta()
|
||||
{
|
||||
return $this->has_one(Venta::class, 'propiedad')->findOne();
|
||||
}
|
||||
}
|
||||
?>
|
Reference in New Issue
Block a user