Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.

50 lines
1.1KB

  1. <?php
  2. namespace domain\Config\TaxRate;
  3. use domain\_\AbstractRepository;
  4. class TaxRateRepository extends AbstractRepository
  5. {
  6. protected TaxRateRepositoryQuery $query;
  7. public function loadDependencies(): void
  8. {
  9. $this->loadQuery(TaxRateRepositoryQuery::class);
  10. }
  11. public function getDefaultOptionsSearch(): array
  12. {
  13. return [
  14. self::WITH => [],
  15. self::JOIN_WITH => [],
  16. self::ORDER_BY => 'pourcent ASC',
  17. self::ATTRIBUTE_ID_PRODUCER => ''
  18. ];
  19. }
  20. public function findOneTaxRateById(int $id): ?TaxRate
  21. {
  22. return $this->createQuery()
  23. ->filterById($id)
  24. ->findOne();
  25. }
  26. public function findTaxRates(): array
  27. {
  28. return $this->createQuery()
  29. ->find();
  30. }
  31. public function findTaxRatesAsArray(): array
  32. {
  33. $taxRateArrayReturn = [];
  34. $taxRateArray = $this->findTaxRates();
  35. foreach ($taxRateArray as $taxRate) {
  36. $taxRateArrayReturn[$taxRate->id] = $taxRate;
  37. }
  38. return $taxRateArrayReturn;
  39. }
  40. }