Example #1
0
 public function searchPoi($sellzone_id, $q, $limit = 10, $offset = 0)
 {
     $collection = [];
     $pois = Model::PoiZone()->where(['sellzone_id', '=', (int) $sellzone_id])->get();
     foreach ($pois as $poi) {
         $poi['name'] = str_replace(''', "'", $poi['name']);
         if (strlen($q)) {
             $comp = Inflector::lower(Inflector::unaccent($q));
             $value = Inflector::lower(Inflector::unaccent($poi['name']));
             $checkName = fnmatch("*{$comp}*", $value);
             $value = Inflector::lower(Inflector::unaccent($poi['type']));
             $checkType = fnmatch("*{$comp}*", $value);
             if ($checkName || $checkType) {
                 $collection[] = $poi;
             }
         } else {
             $collection[] = $poi;
         }
     }
     $collection = $this->orderSearch($collection, $q);
     return array_slice($collection, $offset, $limit);
 }