private function saveProperties($model) { if ($properties = Yii::$app->request->post('ExclusivesProperties', false)) { foreach ($properties as $property) { if ($propertyName = Properties::find()->where(['name' => $property['name']])->one()) { if ($propertyVal = ExclusivesProperties::find()->where(['property_id' => $propertyName['id'], 'exclusive_id' => $model->id])->one()) { $propertyVal->value = $property['value']; $propertyVal->save(); } else { $propertyVal = new ExclusivesProperties(); $propertyVal->exclusive_id = $model->id; $propertyVal->property_id = $propertyName->id; $propertyVal->value = $property['value']; $propertyVal->save(); } } else { $propertyName = new Properties(); $propertyName->name = $property['name']; $propertyName->save(); $propertyVal = new ExclusivesProperties(); $propertyVal->exclusive_id = $model->id; $propertyVal->property_id = $propertyName->id; $propertyVal->value = $property['value']; $propertyVal->save(); } } } }
public function getProperties() { return $this->hasMany(ExclusivesProperties::className(), ['exclusive_id' => 'id']); }