diff --git a/common/Alias/Model.php b/common/Alias/Model.php index 490aafc..cf63238 100644 --- a/common/Alias/Model.php +++ b/common/Alias/Model.php @@ -133,9 +133,10 @@ abstract class Model extends BaseModel implements ModelInterface { $obj = static::find($factory, $input); } else { $where = $data; - $where = array_values(array_walk($where, function(&$item, $key) { + array_walk($where, function(&$item, $key) { $item = [$key, $item]; - })); + }); + $where = array_values($where); $obj = $factory->find($class)->where($where)->one(); } if ($obj === null) { diff --git a/common/Factory/Model.php b/common/Factory/Model.php index 7df0a83..874319d 100644 --- a/common/Factory/Model.php +++ b/common/Factory/Model.php @@ -81,7 +81,7 @@ class Model { 'to' => $j['to'] ?? $j[2], 'sym' => $j['sym'] ?? ($j[3] ?? '='), 'alias' => $j['alias'] ?? '', - 'type' => strtolower($j['type']) ?? '', + 'type' => strtolower($j['type'] ?? ''), 'params' => $j['params'] ?? '' ]; $this->joins []= $join; @@ -98,7 +98,7 @@ class Model { 'column' => $c['column'] ?? $c[0], 'value' => $c['value'] ?? $c[1], 'sym' => strtolower($c['sym'] ?? ($c[2] ?? '=')), - 'type' => strtolower($c['type']) ?? '' + 'type' => strtolower($c['type'] ?? '') ]; $this->conditions []= $cond; } @@ -363,10 +363,13 @@ class Model { return $results; } public function array(): ?array { - $results = $this->build()->findArray(); - if (!$results) { + $results = $this->many(); + if (!$results or $results === null) { return null; } + array_walk($results, function(&$item) { + $item = $item->toArray(); + }); return $results; }