32], ]; } /** * @inheritdoc */ public function attributeLabels() { return [ 'catalog_id' => Yii::t('app', 'ID'), 'parent_id' => Yii::t('app', 'Parent ID'), 'cover' => Yii::t('app', 'Cover'), 'status' => Yii::t('app', 'Status'), 'sort' => Yii::t('app', 'Sort'), ]; } /** * Выполняет поис по параметрам * @param array $param принимает [catalog_id, lang_id, return_one, return_field, show_all] * @return array one | array all | string значение масива */ public function finInfo (array $params = []) { Tools::ifNotExist ($params, array ( 'catalog_id' => false, 'lang_id' => false, 'return_one' => false, 'return_field' => false, 'show_all' => false, 'to_array' => true, )); $model = new Catalog(); $query = $model->find()->select('*'); $query->joinWith(['relationCatalogLang2']); $WHERE = array (); if ($params['catalog_id'] !== false) { $WHERE['catalog.catalog_id'] = $params['catalog_id']; } if ($params['lang_id'] !== false) { $WHERE['catalog_i18n.lang_id'] = $params['lang_id']; } if (! empty ($WHERE)) { $query->where($WHERE); } if ($params['to_array'] !== false) { $query = $query->asArray(); } if ($params['return_one'] !== false || $params['return_field'] !== false) { $result = $params['return_field'] !== false ? $query->one($params['return_field']) : $query->one(); } else { $result = $query->all(); } return $result; } /** * @return \yii\db\ActiveQuery */ public function getRelationCatalogLangPlus() { return $this->getRelationCatalogLang2()->where(['lang_id' => yii::$app->params['lang_id']]); } /** * @return \yii\db\ActiveQuery */ public function getRelationCatalogLang2() { return $this->hasOne(CatalogLang::className(), ['catalog_id' => 'catalog_id']); } public function getTitle() { return $this->relationCatalogLangPlus->title; } public function getParentTitle() { return $this->relationCatalogLangPlus->title; } }