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.

49 line
1.2KB

  1. <?php
  2. namespace Lc\SovBundle\Repository;
  3. use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
  4. use Lc\SovBundle\Doctrine\EntityInterface;
  5. interface RepositoryQueryInterface
  6. {
  7. public function create();
  8. public function call(callable $fn):self;
  9. public function count(): string;
  10. public function findOne(): ?EntityInterface;
  11. public function find(): array;
  12. public function limit(int $maxResults):self;
  13. public function paginate(int $page = 1, int $limit = 20);
  14. public function getRepository(): ServiceEntityRepository;
  15. public function groupBy(string $field):self;
  16. public function orderBy(string $field, string $sort = 'ASC'):self;
  17. public function filterById(int $id):self;
  18. public function filterByDevAlias(string $devAlias):self;
  19. public function filterBySlug(string $slug):self;
  20. public function filterIsParent():self;
  21. public function filterIsChildren():self;
  22. public function filterByParent(EntityInterface $parent):self;
  23. public function filterIsOffline():self;
  24. public function filterIsOnline():self;
  25. public function filterIsDeleted():self;
  26. public function filterIsOnlineAndOffline():self;
  27. }