public function actionEditVariant() { $name = yii::$app->request->post('name'); $value = yii::$app->request->post('value'); $pk = unserialize(base64_decode(yii::$app->request->post('pk'))); FieldVariant::saveEdit($pk, $name, $value); }
protected function findModel($id) { if (($model = FieldVariant::findOne($id)) !== null) { return $model; } else { throw new NotFoundHttpException('The requested field does not exist.'); } }
public function search($params) { $query = FieldVariant::find(); $dataProvider = new ActiveDataProvider(['query' => $query, 'pagination' => false]); $this->load($params); if (!$this->validate()) { return $dataProvider; } $query->andFilterWhere(['id' => $this->id, 'field_id' => $this->field_id]); $query->andFilterWhere(['like', 'value', $this->value]); return $dataProvider; }
public function flush() { $this->fieldVariants = []; $values = FieldValue::find()->where(['item_id' => $this->owner->id])->with('field')->all(); foreach ($values as $value) { if ($value->variant_id) { $this->fieldVariants[$value->field->slug] = FieldVariant::findOne($value->variant_id)->value; } else { $this->fieldVariants[$value->field->slug] = $value->value; } } return true; }
public function getVariant() { return $this->hasOne(FieldVariant::className(), ['id' => 'variant_id']); }
public static function saveEdit($id, $name, $value) { $setting = FieldVariant::findOne($id); $setting->{$name} = $value; $setting->save(); }