@@ 96-118 (lines=23) @@ | ||
93 | * |
|
94 | * @return bool|mixed |
|
95 | */ |
|
96 | public function findFiasSettlements($city, $region_code) |
|
97 | { |
|
98 | $settlements = new SettlementsDatabaseQuery(); |
|
99 | $settlements = $settlements->getSettlements()->regionCode($region_code)->addressLevel(); |
|
100 | ||
101 | if (is_integer($this->first_letters)) { |
|
102 | $settlements = $settlements->firstLetters(substr($city, 0, $this->first_letters)); |
|
103 | } |
|
104 | ||
105 | $settlements = $settlements->findAll(); |
|
106 | ||
107 | $titles = []; |
|
108 | $settlements_with_id = []; |
|
109 | ||
110 | foreach ($settlements as $v) { |
|
111 | $settlements_with_id[$v['title']] = $v['address_id']; |
|
112 | $titles[] = $v['title']; |
|
113 | } |
|
114 | ||
115 | $result = $this->findSimilarWord($city, $titles); |
|
116 | ||
117 | return $result ? $settlements_with_id[$result] : false; |
|
118 | } |
|
119 | ||
120 | /** |
|
121 | * @param $city |
|
@@ 163-185 (lines=23) @@ | ||
160 | * |
|
161 | * @return bool|mixed |
|
162 | */ |
|
163 | public function findFiasStreets($street, $city_id) |
|
164 | { |
|
165 | $streets = new StreetsDatabaseQuery(); |
|
166 | $streets = $streets->getStreets()->parentId($city_id)->addressLevel(); |
|
167 | ||
168 | if (is_integer($this->first_letters)) { |
|
169 | $streets = $streets->firstLetters(substr($street, 0, $this->first_letters)); |
|
170 | } |
|
171 | ||
172 | $streets = $streets->findAll(); |
|
173 | ||
174 | $titles = []; |
|
175 | $streets_with_id = []; |
|
176 | ||
177 | foreach ($streets as $v) { |
|
178 | $streets_with_id[$v['title']] = $v['address_id']; |
|
179 | $titles[] = $v['title']; |
|
180 | } |
|
181 | ||
182 | $result = $this->findSimilarWord($street, $titles); |
|
183 | ||
184 | return $result ? $streets_with_id[$result] : false; |
|
185 | } |
|
186 | ||
187 | /** |
|
188 | * @param $street |