FieldType::SINGLE_LINE_TEXT, self::FIELD_PAYMENT_TYPE => FieldType::DROP_DOWN, self::FIELD_PAYMENT_METHOD => FieldType::DROP_DOWN, self::FIELD_TARGET_YEAR => FieldType::SINGLE_LINE_TEXT, self::FIELD_TARGET_MONTH => FieldType::SINGLE_LINE_TEXT, self::FIELD_TARGET_TERM_MONTH => FieldType::SINGLE_LINE_TEXT, self::FIELD_PAYMENT_PLAN_DATE => FieldType::DATE, self::FIELD_PAYMENT_PLAN_AMOUNT => FieldType::SINGLE_LINE_TEXT, self::FIELD_APPROPRIATION_DATE => FieldType::DATE, self::FIELD_APPROPRIATION_AMOUNT => FieldType::SINGLE_LINE_TEXT, self::FIELD_REMAINING_AMOUNT => FieldType::SINGLE_LINE_TEXT, ]; protected const FIELD_NAMES = [ ...parent::FIELD_NAMES, self::FIELD_SEASON_TICKET_CONTRACT_RECORD_NO => 'season_ticekt_contract_record_no', self::FIELD_PAYMENT_TYPE => 'payment_type', self::FIELD_PAYMENT_METHOD => 'payment_method', self::FIELD_PAYMENT_PLAN_DATE => 'payment_plan_date', ]; protected function toArrayCustom(): array { $paymentDate = $this->getDate(self::FIELD_APPROPRIATION_DATE); $remainingAmount = $this->getNumber(self::FIELD_REMAINING_AMOUNT); $paymentStatus = "未払い"; if (!!$paymentDate && $remainingAmount === 0) { $paymentStatus = "支払済み"; } return [ 'payment_status' => $paymentStatus, ]; } }