20], ]; } /** * {@inheritdoc} */ public function attributeLabels() { return [ 'id' => 'ID', 'created_at' => 'Created At', 'updated_at' => 'Updated At', 'mall_id' => 'Mall ID', 'status' => 'Status', 'name' => 'Name', 'start_at' => 'Start At', 'end_at' => 'End At', 'merchants_user_id' => 'Merchans User ID', 'venue_user_id' => 'Venue User ID', 'participate_num' => 'Participate Num', ]; } /** * @return ActiveQuery */ public function getOrder(): ActiveQuery { return $this->hasOne(AddonsBusinessActivityOrderModel::class, ['activity_id' => 'id']); } /** * @return ActiveQuery */ public function getGoods(): ActiveQuery { return $this->hasMany(AddonsBusinessActivityGoodsModel::class, ['activity_id' => 'id'])->andWhere(['status' => StatusEnum::ENABLED]); } public function getMerchants() { return $this->hasOne(User::class, ['id' => 'merchants_user_id']); } public function getVenue() { return $this->hasOne(User::class, ['id' => 'venue_user_id']); } public static function setData(array $params) { try { if (!empty($params['id'])) { $model = self::findOne(['id' => $params['id'], 'mall_id' => $params['mall_id'], 'status' => StatusEnum::ENABLED]); } else { $model = new self(); $model->loadDefaultValues(); } if (!$model->load($params, '') || !$model->save()) { throw new \Exception($model->getErrorMessage()); } return $model; } catch (\Exception $e) { self::$static_error = $e->getMessage(); return false; } } }