protected function beforeSave() { if ($this->isNewRecord) { $this->sort = Yii::app()->db->createCommand()->select('MAX(sort) + 1')->from($this->tableName())->queryScalar(); } return parent::beforeSave(); }
public function beforeSave() { if (Product::model()->exists('id = :product_id', [":product_id" => $this->product_id])) { $this->variant_ids = array_filter($this->variant_ids); // удаляем варианты, которые не были выбраны, старые не трогаем, чтобы оставить данные, на случай, если вариант был удален из системы foreach ($this->oldVariants as $key => $var) { if (!in_array($var['id'], $this->variant_ids)) { unset($this->oldVariants[$key]); } } $oldVariantIds = array_map(function ($x) { return $x['id']; }, $this->oldVariants); $newVariants = []; foreach ($this->variant_ids as $varId) { if (!in_array($varId, $oldVariantIds)) { /* @var $variant ProductVariant */ $variant = ProductVariant::model()->findByPk($varId); if ($variant) { // сохраняем информацию на случай удаления варианта из системы $newVariants[] = array_merge($variant->attributes, ['attribute_name' => $variant->attribute->name, 'attribute_title' => $variant->attribute->title, 'optionValue' => $variant->getOptionValue()]); } } } $combinedVariants = array_merge($this->oldVariants, $newVariants); $this->variants = serialize($combinedVariants); } return parent::beforeSave(); }
/** * @return bool */ public function beforeSave() { $this->update_time = new CDbExpression('NOW()'); if ($this->getIsNewRecord()) { $this->create_time = $this->update_time; } $this->user_id = Yii::app()->hasComponent('user') ? Yii::app()->getUser()->getId() : null; return parent::beforeSave(); }
/** * @return bool */ public function beforeSave() { $this->update_time = new CDbExpression('NOW()'); if ($this->getIsNewRecord()) { $this->create_time = $this->update_time; } // Пользователя можно получить только для веб-приложения $this->user_id = Yii::app()->hasComponent('user') ? Yii::app()->getUser()->getId() : null; return parent::beforeSave(); }
public function beforeSave() { $this->change_date = new CDbExpression('NOW()'); if ($this->isNewRecord) { $this->creation_date = $this->change_date; } // Пользователя можно получить только для веб-приложения if (YII_APP_TYPE == 'web') { $this->user_id = Yii::app()->user->getId(); } else { $this->user_id = null; } return parent::beforeSave(); }
public function beforeSave() { $this->change_date = new CDbExpression('NOW()'); if ($this->isNewRecord) { $this->creation_date = $this->change_date; } if (!isset($this->user_id)) { $this->user_id = Yii::app()->user->getId(); } if ($this->user_id !== Yii::app()->user->getId()) { $this->user_id = Yii::app()->user->getId(); } return parent::beforeSave(); }
protected function beforeSave() { // Сохраняем путь к файлу $this->file = $this->file_name; return parent::beforeSave(); }