id = $model->id; $dto->userId = $model->user_id; $dto->activityId = $model->activity_id; $dto->participateTime = $model->participate_time ? $model->participate_time->format('Y-m-d H:i:s') : ''; $dto->rewardStatus = $model->reward_status; $dto->rewardStatusName = $model->getRewardStatusName(); $dto->completionStatus = $model->completion_status; $dto->completionStatusName = $model->getCompletionStatusName(); $dto->completionTime = $model->completion_time ? $model->completion_time->format('Y-m-d H:i:s') : null; // 加载用户数据 if ($withUserData && $model->relationLoaded('userData')) { $dto->userData = UserActivityDataDto::fromModel($model->userData); } return $dto; } /** * 转换为模型数据数组 * * @return array */ public function toModelArray(): array { return [ 'id' => $this->id ?? null, 'user_id' => $this->userId, 'activity_id' => $this->activityId, 'participate_time' => $this->participateTime, 'reward_status' => $this->rewardStatus, 'completion_status' => $this->completionStatus, 'completion_time' => $this->completionTime, ]; } }