예제 #1
0
 /**
  * Подгрузка инфы о зданиях
  *
  * @param \MongoClient $mongo
  * @param              $result
  *
  * @return array
  */
 protected function _loadBuilding(\MongoClient $mongo, $result)
 {
     $buildingIds = [];
     foreach ($result as $row) {
         $buildingIds[] = (int) $row['building_id'];
     }
     $buildingIds = array_unique($buildingIds);
     $buildingsData = $mongo->selectCollection('gis', 'buildings')->find(['id' => ['$in' => $buildingIds]]);
     $buildingsData = ArrayHelper::indexBy($buildingsData, 'id');
     foreach ($result as $key => $row) {
         $result[$key]['building'] = ['id' => $row['building_id'], 'address' => $buildingsData[$row['building_id']]['address']];
         unset($result[$key]['building_id']);
     }
     return $result;
 }