| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- <?php
- namespace App\Module\Farm\Dtos;
- use App\Module\Farm\Models\FarmUser;
- use App\Module\User\Models\User;
- /**
- * 房屋排行榜项目数据传输对象
- */
- class HouseRankItemDto
- {
- /**
- * 排名
- * @var int
- */
- public int $rank = 0;
- /**
- * 房屋等级
- * @var int
- */
- public int $level = 0;
- /**
- * 用户ID
- * @var int
- */
- public int $userId = 0;
- /**
- * 用户昵称
- * @var string
- */
- public string $nickname = '';
- /**
- * 第几届/赛季
- * @var int
- */
- public int $reason = 1;
- /**
- * 构造函数
- *
- * @param int $rank 排名
- * @param int $level 房屋等级
- * @param int $userId 用户ID
- * @param string $nickname 用户昵称
- * @param int $reason 赛季
- */
- public function __construct(int $rank = 0, int $level = 0, int $userId = 0, string $nickname = '', int $reason = 1)
- {
- $this->rank = $rank;
- $this->level = $level;
- $this->userId = $userId;
- $this->nickname = $nickname;
- $this->reason = $reason;
- }
- /**
- * 从数据库查询结果创建DTO
- *
- * @param array $data 数据库查询结果
- * @param int $rank 排名
- * @return static
- */
- public static function fromArray(array $data, int $rank): static
- {
- return new static(
- rank: $rank,
- level: $data['house_level'] ?? 0,
- userId: $data['user_id'] ?? 0,
- nickname: $data['nickname'] ?? '',
- reason: 1
- );
- }
- }
|