This commit is contained in:
amazuecos
2024-12-15 16:07:54 +01:00
parent 71157bfda5
commit d5719b70a1
31 changed files with 970 additions and 502 deletions

View File

@ -1,6 +1,11 @@
<?php
namespace App\Entities\Pedidos;
use App\Entities\Presupuestos\PresupuestoEntity;
use App\Entities\Produccion\OrdenTrabajoEntity;
use App\Models\OrdenTrabajo\OrdenTrabajoModel;
use App\Models\Pedidos\PedidoLineaModel;
use App\Models\Presupuestos\PresupuestoModel;
use CodeIgniter\Entity;
class PedidoEntity extends \CodeIgniter\Entity\Entity
@ -27,4 +32,35 @@ class PedidoEntity extends \CodeIgniter\Entity\Entity
"total_precio" => "float",
"total_tirada" => "float",
];
/**
* Devuelve la entidad `PedidoEntity` con sus relaciones
*
* @return self
*/
public function withAllRelations() : self
{
$this->attributes["pedido_lineas"] = $this->lineas();
$this->attributes["presupuesto"] = $this->presupuesto();
return $this;
}
public function lineas(): array
{
$q = model(PedidoLineaModel::class);
$q->where("pedido_id",$this->attributes["id"]);
return $q->findAll();
}
public function presupuesto() : PresupuestoEntity
{
$q = model(PedidoLineaModel::class);
$p = model(PresupuestoModel::class);
$presupuesto_id = $q->where("pedido_id",$this->attributes["id"])->first()->presupuesto_id;
return $p->find($presupuesto_id);
}
public function orden_trabajo() : ?OrdenTrabajoEntity
{
$m = model(OrdenTrabajoModel::class);
return $m->where("pedido_id",$this->attributes["id"])->first();
}
}