diff --git a/DataStorage/DataMapperInterface.php b/DataStorage/DataMapperInterface.php index 046ef7bc3..21d9b2ec4 100644 --- a/DataStorage/DataMapperInterface.php +++ b/DataStorage/DataMapperInterface.php @@ -74,14 +74,14 @@ interface DataMapperInterface /** * Find data. * - * @param array $columns Columns + * @param string $search Search * - * @return Builder + * @return array * * @since 1.0.0 * @author Dennis Eichhorn */ - public static function find(...$columns) : Builder; + public static function find(string $search) : array; /** * List data. diff --git a/DataStorage/Database/DataMapperAbstract.php b/DataStorage/Database/DataMapperAbstract.php index 274f5db52..19029087e 100644 --- a/DataStorage/Database/DataMapperAbstract.php +++ b/DataStorage/Database/DataMapperAbstract.php @@ -296,25 +296,27 @@ class DataMapperAbstract implements DataMapperInterface /** * Find data. * - * @param array $columns Columns + * @param string $search Search for * * @return Builder * * @since 1.0.0 * @author Dennis Eichhorn */ - public static function find(...$columns) : Builder + public static function find(string $search) : array { self::extend(__CLASS__); - if (count($columns) === 0) { - $columns = [static::$table . '.*']; + $query = static::getQuery(); + + foreach(static::$columns as $col) { + if(isset($col['autocomplete']) && $col['autocomplete']) { + $query->where($col['name'], 'LIKE', $search, 'OR'); + } } - $query = new Builder(self::$db); - $query->prefix(self::$db->getPrefix()); - - return $query->select(...$columns)->from(static::$table); + + return static::getAllByQuery($query); } /**