diff --git a/app/Kintone/Models/ParkingRoom.php b/app/Kintone/Models/ParkingRoom.php new file mode 100644 index 0000000..3dd7968 --- /dev/null +++ b/app/Kintone/Models/ParkingRoom.php @@ -0,0 +1,24 @@ + FieldType::SINGLE_LINE_TEXT, + ]; + + protected const FIELD_NAMES = [ + ...parent::FIELD_NAMES, + ]; +} diff --git a/app/Kintone/Models/SeasonTicketContractReserve.php b/app/Kintone/Models/SeasonTicketContractReserve.php new file mode 100644 index 0000000..28bbe50 --- /dev/null +++ b/app/Kintone/Models/SeasonTicketContractReserve.php @@ -0,0 +1,48 @@ + targetRoomList + */ +class SeasonTicketContractReserve extends KintoneModel +{ + const CONFIG_KEY = "KINTONE_APP_SEASON_TICEKT_CONTRACT_RESERVE"; + + const FIELD_PARKING_NAME = "駐車場"; + + const FIELD_TARGET_ROOM_LIST = "対象車室一覧"; + const FIELD_TARGET_ROOM_LIST_ROOM_NO = "対象車室一覧_車室番号"; + const FIELD_TARGET_ROOM_LIST_ROOM_TYPE = "対象車室一覧_車室タイプ"; + const FIELD_TARGET_ROOM_LIST_RECORD_NO = "対象車室一覧_車室レコード番号"; + + protected const FIELDS = [ + ...parent::FIELDS, + self::FIELD_PARKING_NAME => FieldType::SINGLE_LINE_TEXT, + self::FIELD_TARGET_ROOM_LIST => FieldType::SUBTABLE, + // self::FIELD_TARGET_ROOM_LIST => [ + // self::FIELD_TARGET_ROOM_LIST_RECORD_NO => FieldType::NUMBER, + // self::FIELD_TARGET_ROOM_LIST_ROOM_TYPE => FieldType::SINGLE_LINE_TEXT, + // self::FIELD_TARGET_ROOM_LIST_ROOM_NO => FieldType::SINGLE_LINE_TEXT, + // ], + ]; + + protected const SUB_TABLES = [ + self::FIELD_TARGET_ROOM_LIST => TargetRoom::class, + ]; + + protected const FIELD_NAMES = [ + ...parent::FIELD_NAMES, + ]; + + protected const RELATIONS = [ + SeasonTicketContractEntry::class, + ParkingRoom::class, + ]; +} diff --git a/app/Kintone/Models/SubTable/SeasonTicketContractReserve/TargetRoom.php b/app/Kintone/Models/SubTable/SeasonTicketContractReserve/TargetRoom.php new file mode 100644 index 0000000..8369bae --- /dev/null +++ b/app/Kintone/Models/SubTable/SeasonTicketContractReserve/TargetRoom.php @@ -0,0 +1,31 @@ +roomNo = data_get($data, SeasonTicketContractReserve::FIELD_TARGET_ROOM_LIST_ROOM_NO, ""); + $this->roomType = data_get($data, SeasonTicketContractReserve::FIELD_TARGET_ROOM_LIST_ROOM_TYPE, ""); + $this->roomRecordNo = intval(data_get($data, SeasonTicketContractReserve::FIELD_TARGET_ROOM_LIST_RECORD_NO, 0)); + parent::__construct($data); + } + + public function toArray(): array + { + return [ + SeasonTicketContractReserve::FIELD_TARGET_ROOM_LIST_ROOM_NO => $this->roomNo, + SeasonTicketContractReserve::FIELD_TARGET_ROOM_LIST_ROOM_TYPE => $this->roomType, + SeasonTicketContractReserve::FIELD_TARGET_ROOM_LIST_RECORD_NO => $this->roomRecordNo, + ]; + } +}