You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

43 lines
1.1KB

  1. <?php
  2. namespace Lc\PietroBundle\Repository\Workshop;
  3. use Lc\PietroBundle\Model\Workshop\WorkshopThematicInterface;
  4. use Lc\SovBundle\Repository\AbstractStore;
  5. use Lc\SovBundle\Repository\RepositoryQueryInterface;
  6. class WorkshopStore extends AbstractStore
  7. {
  8. protected WorkshopRepositoryQuery $query;
  9. public function __construct(WorkshopRepositoryQuery $query)
  10. {
  11. $this->query = $query;
  12. }
  13. public function orderByDefault(RepositoryQueryInterface $query): RepositoryQueryInterface
  14. {
  15. $query->orderBy('position');
  16. return $query;
  17. }
  18. public function filtersDefault(RepositoryQueryInterface $query): RepositoryQueryInterface
  19. {
  20. return $query;
  21. }
  22. public function relationsDefault(RepositoryQueryInterface $query): RepositoryQueryInterface
  23. {
  24. return $query;
  25. }
  26. public function findOnlineByWorkshopThematic(WorkshopThematicInterface $workshopThematic, $query = null)
  27. {
  28. $query = $this->createDefaultQuery($query);
  29. $query
  30. ->filterByWorkshopThematic($workshopThematic)
  31. ->filterIsOnline();
  32. return $query->find();
  33. }
  34. }