OriginalGoodsListsCriteria.php 963 B

12345678910111213141516171819202122232425262728293031323334353637
  1. <?php
  2. namespace App\Repositories\Criterias;
  3. use KZ2\Repositories\Contracts\RepositoryInterface;
  4. use KZ2\Repositories\Criteria\Criteria;
  5. class OriginalGoodsListsCriteria 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['name'])) {
  15. $model = $model->where('title', 'like' , '%' . $this->params['name'] . '%');
  16. }
  17. if (!empty($this->params['class_uid'])) {
  18. $model = $model->where('class_uid', $this->params['class_uid']);
  19. }
  20. if (!empty($this->params['status'])) {
  21. $model = $model->where('status', $this->params['status']);
  22. }
  23. if (!empty($this->params['shops_uid'])) {
  24. $model = $model->where('shops_uid', $this->params['shops_uid']);
  25. }
  26. return $model;
  27. }
  28. }