hasMany(CategoriesOt::class, ['ot_id' => 'id']); } public function getCategoryConcatList() { $categories = []; $index = 1; foreach ($this->categoryOts as $categoriesOt) { $main = $categoriesOt->category->mainCategory->name; $sub = $categoriesOt->category->name; $categories[] = '
' . $index . '.
' . $main . ' - ' . $sub . '
'; $index++; } return implode('', $categories); } public function getCategoryIds() { $ids = []; foreach ($this->categoryOts as $cOt) { $ids[] = $cOt->sc_id; } return $ids; } public function getObjectTemplateFields() { return $this->hasMany(ObjectTemplateField::class, ['ot_id' => 'id'])->orderBy(['order_index' => SORT_ASC])->all(); } public static function heritageTypes($id = null) { $types = [ 1 => 'Недвижимо наследсвто', 2 => 'Движимо материално наследство', 3 => 'Движимо нематериално наследство', 4 => 'Природно наследство', ]; if ($id) return $types[$id]; return $types; } public static function heritageTypesByCategory() { $subCategoryId = null; if (!empty($_GET['q'])) { $f = explode('|', $_GET['q']); foreach ($f as $fkv) { $filter = explode(':', $fkv); if ($filter[0] == 'sc_id' && !empty($filter[1])) $subCategoryId = $filter[1]; } } if ($subCategoryId) { $heritage_types = []; $CategoriesOts = CategoriesOt::find()->where(['sc_id' => $subCategoryId])->all(); foreach ($CategoriesOts as $CategoriesOt) { $htId = $CategoriesOt->objectTemplate->heritage_type; if (!isset($heritage_type[$htId])) { $heritage_types[$htId] = self::heritageTypes($htId); } } return $heritage_types; } return self::heritageTypes(); } }