'ID', 'mall_id' => '商城ID', 'coupon_give_item_setting_id' => '设置id', 'coupon_id' => '优惠券id', 'num' => '赠送数量', 'status' => '状态[-1:删除;0:禁用;1启用]', 'created_at' => 'Created At', 'updated_at' => 'Updated At', ]; } public function getCoupon() { return $this->hasOne(AddonsCoupon::class, ['id' => 'coupon_id'])->where(['status' => StatusEnum::ENABLED]); } public static function setData($params, $data) { try{ $coupon_id_arr = array_column($data,'coupon_id'); self::updateAll(['status'=>StatusEnum::DELETE],[ 'and', ['coupon_give_item_setting_id'=>$params['coupon_give_item_setting_id']], ['not in','coupon_id',$coupon_id_arr], ]); foreach ($data as $item) { $model = self::findOne([ 'mall_id' => $params['mall_id'], 'coupon_id' => $item['coupon_id'], 'coupon_give_item_setting_id' => $params['coupon_give_item_setting_id'], 'status' => [StatusEnum::ENABLED] ]); if (empty($model)) { $model = new self(); $model->mall_id = $params['mall_id']; $model->coupon_give_item_setting_id = $params['coupon_give_item_setting_id']; $model->loadDefaultValues(); } if(!$model->load($item,'') || !$model->save()){ throw new \Exception($model->getErrorMessage()); } } return true; }catch(\Exception $e){ self::$static_error = $e->getMessage(); return false; } } }