private function _writeCats($cats, $parent_id = null) { foreach ($cats as $cat) { $record = Category2gis::findOne(['alias' => $cat->alias]); if (!$record) { $record = new Category2gis(['id' => $cat->id, 'name' => $cat->name, 'alias' => $cat->alias, 'parent_id' => $parent_id]); $record->save(); echo "*"; } if ($cat->type == 'general_rubric') { echo " {$this->_t($cat->name)}\n"; $this->_writeCats($cat->rubrics, $record->id); } else { echo "-- {$this->_t($cat->name)}\n"; } } }