500], [['value'], 'string', 'max' => 5000], ]; } /** * {@inheritdoc} */ public function attributeLabels() { return [ 'id' => 'ID', 'code' => 'Code', 'value' => 'Value', ]; } public static function getData($params, $root) { $query = self::find(); $root->andWhere($query, $params, ['id', 'code']); $root->andWhereLike($query, $params, ['value']); $root->setMetaByQuery($query); $root->orderBy($query, $params, ['id', 'code', 'value']); return $root->getItemsByPage($query); } /** * Получить настройки * * @param string $code символьный код уникальный * @param string $defaulValue значение по умолчанию * @return string */ public static function getValue($code, $defaulValue = false) { $model = Settings::find()->andWhere(['code' => $code])->one(); return empty($model) ? $defaulValue : $model->value ; } /** * Сохранить настройк * * @param type $code * @param type $value */ public static function setValue($code, $value) { $model = Settings::find()->andWhere(['code' => $code])->one(); if(empty($model)) { $model = new Settings; $model->code = $code; } $model->value = (string)$value; return $model->save(); } }