Relaciones

This commit is contained in:
2020-03-11 16:20:33 -03:00
parent d2bf5e9e3e
commit f1363fa4c1
2 changed files with 35 additions and 23 deletions

View File

@ -583,7 +583,7 @@ class Proyecto extends Model {
}
$f = Carbon::today($this->container->get('settings')->app->timezone);
$cuotas['hoy'] = $this->container->get('model')->find(Venta::class)
->select('COUNT(cuota.id) AS cantidad')
->select([['COUNT(cuota.id)', 'cantidad', 'expr']])
->join([
['propiedad', 'propiedad.id', 'venta.propiedad'],
['unidad', 'unidad.id', 'propiedad.unidad_principal'],
@ -611,7 +611,7 @@ class Proyecto extends Model {
}
$f = Carbon::today($this->container->get('settings')->app->timezone);
$cuotas['pendientes'] = $this->container->get('model')->find(Cuota::class)
->select('COUNT(cuota.id) AS cantidad')
->select([['COUNT(cuota.id)', 'cantidad', 'expr']])
->join([
['venta', 'cuota.pie', 'venta.pie'],
['propiedad', 'propiedad.id', 'venta.propiedad'],
@ -642,7 +642,7 @@ class Proyecto extends Model {
->join([
['venta', 'cuota.pie', 'venta.pie'],
['propiedad', 'propiedad.id', 'venta.propiedad'],
['unidad', 'unidad.id', 'cuota.pago'],
['unidad', 'unidad.id', 'propiedad.unidad_principal'],
['pago', 'pago.id', 'cuota.pago'],
['JOIN (SELECT e1.* FROM (SELECT pago, MAX(id) AS id FROM estado_pago GROUP BY pago) e0 JOIN estado_pago e1 ON e1.id = e0.id)', 'ep.pago', 'pago.id', 'alias' => 'ep', 'type' => 'raw']
])
@ -824,7 +824,11 @@ class Proyecto extends Model {
;
break;
}
$this->cierres[$vigentes] = $orm->findMany();
$cierres = $orm->findMany();
foreach ($cierres as &$cierre) {
$cierre->setContainer($this->container);
}
$this->cierres[$vigentes] = $cierres;
}
return $this->cierres[$vigentes];
}

View File

@ -21,13 +21,21 @@ use Incoviba\Common\Alias\OldModel as Model;
*/
class Cuota extends Model
{
protected $pago_obj;
public function pago()
{
return $this->belongs_to(Pago::class, 'pago')->findOne();
if ($this->pago_obj === null) {
$this->pago_obj = $this->setRelationship(Pago::class, 'id', 'pago')->one();
}
return $this->pago_obj;
}
protected $pie_obj;
public function pie()
{
return $this->belongs_to(Pie::class, 'pie')->findOne();
if ($this->pie_obj === null) {
$this->pie_obj = $this->setRelationship(Pie::class, 'id', 'pie')->one();
}
return $this->pie_obj;
}
public function uf()
{