Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

39 lines
1.2KB

  1. <?php
  2. namespace App\Kintone\Repositories;
  3. use App\Kintone\Models\Parking;
  4. use App\Kintone\Models\SeasonTicketContract;
  5. use App\Kintone\Models\SeasonTicketContractPlan;
  6. use Illuminate\Support\Collection;
  7. class SeasonTicketContractRepository
  8. {
  9. /**
  10. * キーは車室情報管理のレコード番号
  11. * @param string $customerCode
  12. * @return Collection<string, SeasonTicketContractRepositoryData>
  13. */
  14. static function get(string $customerCode): Collection
  15. {
  16. $ret = collect();
  17. $query = SeasonTicketContract::getQuery()
  18. ->where(SeasonTicketContract::FIELD_CUSTOMER_CODE, $customerCode);
  19. $seasonTicketContracts = SeasonTicketContract::getAccess()
  20. ->some($query);
  21. $planAccess = SeasonTicketContractPlan::getAccess();
  22. foreach ($seasonTicketContracts as $seasonTicketContract) {
  23. $query = SeasonTicketContractPlan::getQuery()->where(SeasonTicketContractPlan::FIELD_PLAN_NAME, $seasonTicketContract->planName);
  24. $plan = $planAccess->first($query);
  25. $ret->put($seasonTicketContract->getRecordId(), new SeasonTicketContractRepositoryData($seasonTicketContract, $plan));
  26. }
  27. return $ret;
  28. }
  29. }