OriginalClassCriteria.php 783 B

123456789101112131415161718192021222324252627282930313233
  1. <?php
  2. namespace App\Repositories\Criterias;
  3. use KZ2\Repositories\Contracts\RepositoryInterface;
  4. use KZ2\Repositories\Criteria\Criteria;
  5. class OriginalClassCriteria extends Criteria
  6. {
  7. private $params = [];
  8. public function __construct($params = [])
  9. {
  10. $this->params = $params;
  11. }
  12. public function apply($model, RepositoryInterface $repository)
  13. {
  14. if (!empty($this->params['status'])) {
  15. $model = $model->where('status', $this->params['status']);
  16. }
  17. if (!empty($this->params['name'])) {
  18. $model = $model->where('name', $this->params['name']);
  19. }
  20. if (!empty($this->params['type'])) {
  21. $model = $model->where('type', $this->params['type']);
  22. }
  23. return $model;
  24. }
  25. }