PaymentAttrCriteria.php 870 B

12345678910111213141516171819202122232425262728293031323334
  1. <?php
  2. declare(strict_types=1);
  3. namespace App\Repositories\Criterias;
  4. use Hyperf\Database\Query\Builder;
  5. use KZ2\Repositories\Contracts\RepositoryInterface;
  6. use KZ2\Repositories\Criteria\Criteria;
  7. class PaymentAttrCriteria extends Criteria
  8. {
  9. private $params = [];
  10. public function __construct($params = [])
  11. {
  12. $this->params = $params;
  13. }
  14. /**
  15. * @param Builder $model
  16. * @param RepositoryInterface $repository
  17. * @return mixed
  18. */
  19. public function apply($model, RepositoryInterface $repository)
  20. {
  21. if (!empty($this->params['type_name'])) {
  22. $model = $model->where('type_name', 'like', '%' . $this->params['type_name'] . '%');
  23. }
  24. if (!empty($this->params['pay_code'])) {
  25. $model = $model->where('pay_code', $this->params['pay_code']);
  26. }
  27. return $model;
  28. }
  29. }