'integer', 'target_id' => 'integer', 'operator' => 'integer', 'value' => 'integer', 'param1' => 'integer', 'param2' => 'integer', 'extra_data' => 'json', ]; /** * 获取条件项所属的条件组 * * @return BelongsTo */ public function conditionGroup(): BelongsTo { return $this->belongsTo(GameConditionGroup::class, 'group_id', 'id'); } /** * 获取条件类型名称 * * @return string */ public function getConditionTypeName(): string { return CONDITION_TYPE::getName($this->condition_type); } /** * 获取比较运算符名称 * * @return string */ public function getOperatorName(): string { return CONDITION_OPERATOR::getName($this->operator); } /** * 获取比较运算符符号 * * @return string */ public function getOperatorSymbol(): string { return CONDITION_OPERATOR::getSymbol($this->operator); } /** * 获取条件描述 * * @return string */ public function getDescription(): string { $typeName = $this->getConditionTypeName(); $operatorSymbol = $this->getOperatorSymbol(); $targetName = $this->getTargetName(); return "{$typeName} {$targetName} {$operatorSymbol} {$this->value}"; } /** * 获取目标名称 * * @return string */ public function getTargetName(): string { return \App\Module\Game\Services\ConditionTypeDescriptor::getTargetNameFromModel($this); } }