| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- <?php
- namespace App\Module\Farm\Dtos;
- use App\Module\Farm\Models\FarmUser;
- /**
- * 农场信息数据传输对象
- */
- class FarmInfoDto
- {
- /**
- * 用户ID
- *
- * @var int
- */
- public $userId;
- /**
- * 房屋等级
- *
- * @var int
- */
- public $houseLevel;
- /**
- * 最后升级时间
- *
- * @var string|null
- */
- public $lastUpgradeTime;
- /**
- * 创建时间
- *
- * @var string
- */
- public $createdAt;
- /**
- * 从模型创建DTO
- *
- * @param FarmUser $farmUser
- * @return self
- */
- public static function fromModel(FarmUser $farmUser): self
- {
- $dto = new self();
- $dto->userId = $farmUser->user_id;
- $dto->houseLevel = $farmUser->house_level;
- $dto->lastUpgradeTime = $farmUser->last_upgrade_time ? (is_string($farmUser->last_upgrade_time) ? $farmUser->last_upgrade_time : $farmUser->last_upgrade_time->toDateTimeString()) : null;
- $dto->createdAt = is_string($farmUser->created_at) ? $farmUser->created_at : $farmUser->created_at->toDateTimeString();
- return $dto;
- }
- /**
- * 转换为数组
- *
- * @return array
- */
- public function toArray(): array
- {
- return [
- 'user_id' => $this->userId,
- 'house_level' => $this->houseLevel,
- 'last_upgrade_time' => $this->lastUpgradeTime,
- 'created_at' => $this->createdAt,
- ];
- }
- }
|