'boolean', 'random_count' => 'integer', 'reward_mode' => 'integer', ]; /** * 获取奖励组中的所有奖励项 * * @return HasMany */ public function rewardItems(): HasMany { return $this->hasMany(GameRewardItem::class, 'group_id', 'id'); } /** * 获取关联的标签(多态关联) * * @return \Illuminate\Database\Eloquent\Relations\MorphToMany */ public function tags() { return $this->morphToMany(GameTag::class, 'taggable', 'game_tag_relations', 'taggable_id', 'tag_id'); } /** * 格式化奖励详情用于显示 * * @return string */ public function formatRewardDetails(): string { if ($this->rewardItems->isEmpty()) { return '暂无奖励项'; } $details = []; foreach ($this->rewardItems as $item) { $detail = $this->formatSingleRewardItem($item); $details[] = $detail; } return '