/** * Get location statistics info * @param mongoId $accountId * @param mongoDate $createdAt * @return array location statistics info */ private function getlocationStatistics($accountId, $createdAt = null) { $location = []; //get all locations $countries = Member::getLocations('country', '', $accountId, $createdAt); foreach ($countries as $country) { $provinces = Member::getLocations('province', $country, $accountId, $createdAt); $provinceTemp = []; foreach ($provinces as $province) { $cities = Member::getLocations('city', $province, $accountId, $createdAt); $cityTemp = []; foreach ($cities as $city) { $cityTemp[] = ['value' => $city]; } $temp['cities'] = $cityTemp; $temp['value'] = $province; $provinceTemp[] = $temp; } $contyTemp['provinces'] = $provinceTemp; $contyTemp['value'] = $country; $location[] = $contyTemp; } return $location; }