redis = $redis_prov->getRedisClient(); $this->active_jo_key = $active_jo_key; } public function addActiveJobOrder(JobOrder $jo) { $coords = $jo->getCoordinates(); $this->redis->geoadd( $this->active_jo_key, $coords->getLongitude(), $coords->getLatitude(), $jo->getID() ); } public function getAllActiveJobOrders() { $all_jo = $this->redis->georadius( $this->active_jo_key, 0, 0, 41000, 'km', ['WITHCOORD' => true] ); $jo_locs = []; foreach ($all_jo as $jo_data) { $id = $jo_data[0]; $lng = $jo_data[1][0]; $lat = $jo_data[1][1]; $jo_locs[$id] = [ 'longitude' => $lng, 'latitude' => $lat, ]; } // error_log(print_r($all_jo, true)); return $jo_locs; } public function removeActiveJobOrder(JobOrder $jo) { $this->redis->zrem( $this->active_jo_key, $jo->getID() ); } }