Пример #1
0
 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();
             }
         }
     }
 }
Пример #2
0
 public function getProperties()
 {
     return $this->hasMany(ExclusivesProperties::className(), ['exclusive_id' => 'id']);
 }