FieldType::SINGLE_LINE_TEXT, self::FIELD_STATUS => FieldType::DROP_DOWN, self::FIELD_CUSTOMER_NAME => FieldType::SINGLE_LINE_TEXT, self::FIELD_CUSTOMER_NAME_KANA => FieldType::SINGLE_LINE_TEXT, self::FIELD_PHONE_NO => FieldType::SINGLE_LINE_TEXT, self::FIELD_ADDRESS => FieldType::SINGLE_LINE_TEXT, self::FIELD_EMAIL => FieldType::SINGLE_LINE_TEXT, self::FIELD_USE_START_DATE => FieldType::DATE, self::FIELD_VEHICLE_NO => FieldType::SINGLE_LINE_TEXT, self::FIELD_PAYMENT_METHOD => FieldType::DROP_DOWN, self::FIELD_ENTRY_DATETIME => FieldType::DATETIME, self::FIELD_PLAN_NAME => FieldType::SINGLE_LINE_TEXT, self::FIELD_SEASON_TICKET_PLAN_NAME => FieldType::SINGLE_LINE_TEXT, self::FIELD_AMOUNT => FieldType::NUMBER, self::FIELD_HIWARI_MONTH => FieldType::NUMBER, self::FIELD_HIWARI_AMOUNT => FieldType::NUMBER, self::FIELD_TARGET_MONTH => FieldType::NUMBER, self::FIELD_TARGET_AMOUNT => FieldType::NUMBER, self::FIELD_FIRST_AMOUNT => FieldType::NUMBER, self::FIELD_PAYMENT_LIMIT_DATE => FieldType::DATE, ]; protected const FIELD_NAMES = [ ...parent::FIELD_NAMES, self::FIELD_PARKING_NAME => 'parking_name', self::FIELD_CUSTOMER_NAME => 'customer_name', self::FIELD_PLAN_NAME => 'plan_name', self::FIELD_ENTRY_DATETIME => 'entry_datetime', self::FIELD_PHONE_NO => 'phone_no', self::FIELD_ADDRESS => 'address', self::FIELD_CAR_AMOUNT => 'car_amount', ]; public function getParking(): Parking { return Parking::findByParkingName($this->parkingName); } public function getPlan(): ?SeasonTicketContractPlan { if (!$this->planName) { return null; } return SeasonTicketContractPlan::findByName($this->seasonTicketPlanName); } }