'boolean', ]; /** * 获取关联的宝箱物品 * * @return BelongsTo */ public function item(): BelongsTo { return $this->belongsTo(Item::class, 'item_id'); } /** * 获取关联的消耗组 * * @return BelongsTo */ public function consumeGroup(): BelongsTo { return $this->belongsTo(\App\Module\Game\Models\GameConsumeGroup::class, 'consume_group_id'); } /** * 获取关联的奖励组 * * @return BelongsTo */ public function rewardGroup(): BelongsTo { return $this->belongsTo(\App\Module\Game\Models\GameRewardGroup::class, 'reward_group_id'); } /** * 获取关联的条件组 * * @return BelongsTo */ public function conditionGroup(): BelongsTo { return $this->belongsTo(\App\Module\Game\Models\GameConditionGroup::class, 'condition_group_id'); } /** * 获取消耗组名称 * * @return string */ public function getConsumeGroupNameAttribute(): string { return $this->consumeGroup ? $this->consumeGroup->name : '无消耗'; } /** * 获取奖励组名称 * * @return string */ public function getRewardGroupNameAttribute(): string { return $this->rewardGroup ? $this->rewardGroup->name : '未配置'; } /** * 获取条件组名称 * * @return string */ public function getConditionGroupNameAttribute(): string { return $this->conditionGroup ? $this->conditionGroup->name : '无条件'; } /** * 检查配置是否完整 * * @return bool */ public function isConfigComplete(): bool { return $this->reward_group_id && $this->is_active; } /** * 获取配置状态文本 * * @return string */ public function getStatusTextAttribute(): string { if (!$this->is_active) { return '未激活'; } if (!$this->reward_group_id) { return '缺少奖励组'; } return '正常'; } }