From 0e5714edc87f66546f56084d3c0f4f2d20b180d2 Mon Sep 17 00:00:00 2001 From: Aldarien Date: Tue, 7 Dec 2021 09:13:20 -0300 Subject: [PATCH] FIX: cuentas --- api/common/Controller/Categorias.php | 8 +++++--- api/common/Controller/Cuentas.php | 7 ++++++- api/src/Categoria.php | 6 ++++++ 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/api/common/Controller/Categorias.php b/api/common/Controller/Categorias.php index 2da6758..48c2227 100644 --- a/api/common/Controller/Categorias.php +++ b/api/common/Controller/Categorias.php @@ -15,9 +15,11 @@ class Categorias { $categorias = $factory->find(Categoria::class)->many(); array_walk($categorias, function(&$item) use ($service) { $arr = $item->toArray(); - $arr['cuentas'] = array_map(function($item) { - return $item->toArray(); - }, $item->cuentas()); + if ($item->cuentas()) { + $arr['cuentas'] = array_map(function($item) { + return $item->toArray(); + }, $item->cuentas()); + } $maps = ['activo', 'pasivo', 'ganancia', 'perdida']; foreach ($maps as $m) { $p = $m . 's'; diff --git a/api/common/Controller/Cuentas.php b/api/common/Controller/Cuentas.php index 43d3fea..0100df3 100644 --- a/api/common/Controller/Cuentas.php +++ b/api/common/Controller/Cuentas.php @@ -12,8 +12,13 @@ class Cuentas { use Json; public function __invoke(Request $request, Response $response, Factory $factory): Response { - $cuentas = $factory->find(Cuenta::class)->array(); + $cuentas = $factory->find(Cuenta::class)->many(); if ($cuentas) { + array_walk($cuentas, function (&$item) { + $arr = $item->toArray(); + $arr['categoria'] = $item->categoria()->toArray(); + $item = $arr; + }); usort($cuentas, function($a, $b) { $t = strcmp($a['tipo']['descripcion'], $b['tipo']['descripcion']); if ($t != 0) { diff --git a/api/src/Categoria.php b/api/src/Categoria.php index 6d9d80c..be3cd78 100644 --- a/api/src/Categoria.php +++ b/api/src/Categoria.php @@ -89,4 +89,10 @@ class Categoria extends Model { } return $this->saldo; } + + public function toArray(): array { + $arr = parent::toArray(); + $arr['tipo'] = $this->tipo()->toArray(); + return $arr; + } }