CriteriaInterface.php 720 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. <?php
  2. namespace App\Repositories\Contracts;
  3. use App\Repositories\Base\Criteria;
  4. /**
  5. * Interface CriteriaInterface
  6. * @package Bosnadev\Repositories\Contracts
  7. */
  8. interface CriteriaInterface {
  9. /**
  10. * @param bool $status
  11. * @return $this
  12. */
  13. public function skipCriteria($status = true);
  14. /**
  15. * @return mixed
  16. *
  17. */
  18. public function getCriteria();
  19. /**
  20. * @param Criteria $criteria
  21. * @return $this
  22. */
  23. public function getByCriteria(Criteria $criteria);
  24. /**
  25. * @param Criteria $criteria
  26. * @return $this
  27. */
  28. public function pushCriteria(Criteria $criteria);
  29. /**
  30. * @return $this
  31. */
  32. public function applyCriteria();
  33. }