diff --git a/common/Factory/Model.php b/common/Factory/Model.php index f0c819b..612e9ca 100644 --- a/common/Factory/Model.php +++ b/common/Factory/Model.php @@ -52,7 +52,8 @@ class Model { if (is_string($column)) { $column = [$column]; } - $alias = $column['alias'] ?? $column[1] ?? $column[0]; + $value = $column[0]; + $alias = $column['alias'] ?? $column[1] ?? ''; $method = 'select'; if (count($column) > 2 or isset($column['type'])) { $type = $column['type'] ?? $column[2] ?? ''; @@ -62,7 +63,11 @@ class Model { break; } } - $orm = $orm->{$method}($column, $alias); + if ($alias == '') { + $orm = $orm->{$method}($value); + continue; + } + $orm = $orm->{$method}($value, $alias); } return $orm; } @@ -138,14 +143,17 @@ class Model { if (isset($condition['operator'])) { $op = strtolower($condition['operator']); } - $mod = ['=' => '', '>' => 'Gt', '>=' => 'Gte', '<' => 'Lt', '<=', 'Lte']; + $mod = ['=' => '', '>' => 'Gt', '>=' => 'Gte', '<' => 'Lt', '<=' => 'Lte', '!=' => 'NotEqual']; if (isset($mod[$op])) { $method .= $mod[$op]; } else { - switch ($op) { + switch (strtolower($op)) { case 'raw': $method = 'rawWhere'; break; + case 'like': + $method = 'whereLike'; + break; } } $column = $condition[0];