| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- <?php
- /**
- * 标签查询.
- *
- * @author jim <jim458734573@gmail.com>
- * @date 2020-01-27 19:24:35
- */
- declare(strict_types=1);
- namespace App\Repositories\Criterias;
- use Hyperf\Database\Query\Builder;
- use KZ2\Repositories\Contracts\RepositoryInterface;
- use KZ2\Repositories\Criteria\Criteria;
- class SysMessagePagesCriteria extends Criteria
- {
- private $params = [];
- public function __construct($params = [])
- {
- $this->params = $params;
- }
- /**
- * @param Builder $model
- * @param RepositoryInterface $repository
- * @return mixed|void
- */
- public function apply(
- $model,
- RepositoryInterface $repository
- ) {
- if (!empty($this->params['id'])) {
- $model = $model->where('id', $this->params['id']);
- }
- if (!empty($this->params['uid'])) {
- $model = $model->where('uid', $this->params['uid']);
- }
- if (!empty($this->params['struct_type'])) {
- $model = $model->where('struct_type', $this->params['struct_type']);
- }
- if (!empty($this->params['subject'])) {
- $model = $model->where('subject', 'like', '%'. $this->params['subject'] . '%');
- }
- if (!empty($this->params['previous_date'])) {
- $model = $model->whereDate('created_at', '<', $this->params['previous_date']);
- }
- return $model;
- }
- }
|