query(); if (($where['keyword'] ?? '') !== '') { $query->where(function (Builder $builder) use ($where) { $keyword = '%' . $where['keyword'] . '%'; $builder->where('rule_name', 'like', $keyword) ->orWhere('rule_pattern', 'like', $keyword) ->orWhere('remark', 'like', $keyword); }); } if (($where['rule_type'] ?? '') !== '') { $query->where('rule_type', $where['rule_type']); } if (($where['is_enabled'] ?? '') !== '') { $query->where('is_enabled', $where['is_enabled']); } return $query; } }