From 50ab50c67e4c399fa3980e430b93c77240744e0c Mon Sep 17 00:00:00 2001 From: Dennis Eichhorn Date: Sat, 15 Apr 2017 18:22:40 +0200 Subject: [PATCH] Fix find functionality --- DataStorage/Database/DataMapperAbstract.php | 3 +-- DataStorage/Database/Query/Builder.php | 10 +++++----- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/DataStorage/Database/DataMapperAbstract.php b/DataStorage/Database/DataMapperAbstract.php index 19029087e..67bd6ef66 100644 --- a/DataStorage/Database/DataMapperAbstract.php +++ b/DataStorage/Database/DataMapperAbstract.php @@ -311,10 +311,9 @@ class DataMapperAbstract implements DataMapperInterface foreach(static::$columns as $col) { if(isset($col['autocomplete']) && $col['autocomplete']) { - $query->where($col['name'], 'LIKE', $search, 'OR'); + $query->where(static::$table . '.' . $col['name'], 'LIKE', '%' . $search . '%', 'OR'); } } - return static::getAllByQuery($query); } diff --git a/DataStorage/Database/Query/Builder.php b/DataStorage/Database/Query/Builder.php index 349fda71b..d011f1358 100644 --- a/DataStorage/Database/Query/Builder.php +++ b/DataStorage/Database/Query/Builder.php @@ -176,12 +176,12 @@ class Builder extends BuilderAbstract protected $unionOrders = []; /** - * Comparison operators. + * Comparison OPERATORS. * * @var string[] * @since 1.0.0 */ - /* public */ const operators = [ + /* public */ const OPERATORS = [ '=', '<', '>', @@ -459,14 +459,14 @@ class Builder extends BuilderAbstract public function where($columns, $operator = null, $values = null, $boolean = 'and') : Builder { // TODO: handle $value is null -> operator NULL - if (isset($operator) && !is_array($operator) && !in_array($operator, self::operators)) { + if (isset($operator) && !is_array($operator) && !in_array(strtolower($operator), self::OPERATORS)) { throw new \InvalidArgumentException('Unknown operator.'); } if (is_array($columns)) { $i = 0; foreach ($columns as $key => $column) { - if (isset($operator[$i]) && !in_array($operator[$i], self::operators)) { + if (isset($operator[$i]) && !in_array(strtolower($operator[$i]), self::OPERATORS)) { throw new \InvalidArgumentException('Unknown operator.'); } @@ -480,7 +480,7 @@ class Builder extends BuilderAbstract $i++; } } elseif (is_string($columns)) { - if (isset($operator) && !in_array($operator, self::operators)) { + if (isset($operator) && !in_array(strtolower($operator), self::OPERATORS)) { throw new \InvalidArgumentException('Unknown operator.'); }