コード例 #1
0
 /**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = Properties::find();
     $query->joinWith(['createdBy']);
     $dataProvider = new ActiveDataProvider(['query' => $query]);
     $dataProvider->sort->attributes['createdBy.username'] = ['asc' => ['user.username' => SORT_ASC], 'desc' => ['user.username' => SORT_DESC]];
     if (!($this->load($params) && $this->validate())) {
         return $dataProvider;
     }
     $query->andFilterWhere(['id' => $this->id, 'object' => $this->object, 'created_by' => $this->created_by, 'updated_by' => $this->updated_by, 'created_at' => $this->created_at, 'updated_at' => $this->updated_at]);
     $query->andFilterWhere(['like', 'name', $this->name])->andFilterWhere(['like', 'description', $this->description])->andFilterWhere(['like', 'type', $this->type]);
     return $dataProvider;
 }
コード例 #2
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();
             }
         }
     }
 }