PHPackages                             djinorm/djin-filter-sort-paginate - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Search &amp; Filtering](/categories/search)
4. /
5. djinorm/djin-filter-sort-paginate

ActiveLibrary[Search &amp; Filtering](/categories/search)

djinorm/djin-filter-sort-paginate
=================================

Djin Filter-Sort-Paginate abstraction for passing to repository

1.1.2(7y ago)01111BSD-3-ClausePHPPHP &gt;=7.1.0

Since May 12Pushed 7y ago1 watchersCompare

[ Source](https://github.com/djinorm/djin-filter-sort-paginate)[ Packagist](https://packagist.org/packages/djinorm/djin-filter-sort-paginate)[ RSS](/packages/djinorm-djin-filter-sort-paginate/feed)WikiDiscussions master Synced today

READMEChangelogDependencies (2)Versions (10)Used By (1)

PHP

```
[
    'paginate' => {
		'number' => 10,
		'size' => 50,
    },
    'sort' => [
        'field_1' => Sort::SORT_DESC,
        'field_2' => Sort::SORT_ASC,
    ],
    'filters' => [
        '$or' => [
            '$or' => [
                '$and' => [
                    'field_1' => ['$between' => ['2018-01-01', '2018-12-31']],
                    'field_2' => ['$compare' => [CompareFilter::GREAT_THAN, 500]],
                    'field_3' => ['$empty' => true],
                    'field_4' => ['$empty' => false],
                    'field_5' => ['$equals' => 'value'],
                    'field_6' => ['$fulltextSearch' => 'hello world'],
                    'field_7' => ['$in' => [1, 2, 3, 4, 'five', 'six']],
                    'field_8' => ['$wildcard' => '*hello ?????!'],
                    'field_9' => ['$notBetween' => [100, 200]],
                    'field_10' => ['$notEquals' => 'not-value'],
                    'field_11' => ['$notIn' => [9, 8, 7]],
                    'field_12' => ['$notWildcard' => '*hello ?????!'],
                ],
                'field_1' => [
                    '$empty' => false,
                    '$compare' => [CompareFilter::LESS_THAN, 10000],
                ],
            ],
            'datetime' => ['$between' => ['2018-01-01', '2018-12-31']],
        ],
    ],
]
```

JSON

```
{
    "paginate": {
        "page": 10,
        "pageSize": 50
    },
    "sort": {
        "field_1": -1,
        "field_2": 1
    },
    "filters": {
        "$or": {
            "$or": {
                "$and": {
                    "field_1": {"$between": ["2018-01-01", "2018-12-31"]},
                    "field_2": {"$compare": [">", 500]},
                    "field_3": {"$empty": true},
                    "field_4": {"$empty": false},
                    "field_5": {"$equals": "value"},
                    "field_6": {"$fulltextSearch": "hello world"},
                    "field_7": {"$in": [1, 2, 3, 4, "five", "six"]},
                    "field_8": {"$wildcard": "*hello ?????!"},
                    "field_9": {"$notBetween": [100, 200]},
                    "field_10": {"$notEquals": "not-value"},
                    "field_11": {"$notIn": [9, 8, 7]},
                    "field_12": {"$notWildcard": "*hello ?????!"}
                },
                "field_1": {
                    "$empty": false,
                    "$compare": ["
