2017 © Pedro Peláez
 

library yii2-criteria

Criteria implementation for Yii2

image

horat1us/yii2-criteria

Criteria implementation for Yii2

  • Tuesday, February 27, 2018
  • by Horat1us
  • Repository
  • 1 Watchers
  • 0 Stars
  • 115 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 1 Open issues
  • 22 Versions
  • 109 % Grown

The README.md

Yii2 Criteria

This package helps dealing with multiple search params., (*1)

Installing

Using composer:, (*2)

composer require horat1us/yii2-criteria

Requires PHP >= 7.0, yii2 >= 2.0.13, (*3)

Usage

This code will find SomeActiveRecord with specified id (from URL)., (*4)

<?php

use YourApp\SomeActiveRecord;

use yii\db\Query;
use yii\base\Model;

use Horat1us\Yii\Criteria\Interfaces\CriteriaInterface;
use Horat1us\Yii\Criteria\Factories\QueryFactory;

$query = SomeActiveRecord::find();
$factory = new QueryFactory($query);

$factory->push(new class extends Model implements CriteriaInterface {

    public $id;

    public function rules()
    {
        return [['id', 'integer',]];
    }

    public function formName()
    {
        return 'IdCriteria';
    }

    public function apply(Query $query): Query {
        return $query->andWhere(['=', 'id', (int)$this->id]);
    }

});

$record = $factory->apply(\Yii::$app->request->queryParams)->one();
print_r($record->id, $_GET['IdCriteria']['id']); // true

Pre-cooked criteria

Factories

Tips

To set default params for criteria (for example, PaginationCriteria) configure your yii\db\Container in bootstrap.php file:, (*5)

<?php

use Horat1us\Yii\Criteria\PaginationCriteria;

Yii::$container->set(
    PaginationCriteria::class,
    [
        'class' => PaginationCriteria::class,

        'page' => 1,
        'pageSize' => 10,

        'allowedPageSize' => [1, 5, 10,],
    ]
);

Contributors

Alexander Letnikow, (*6)

License

MIT, (*7)

Todo

  • Tests

The Versions

27/02 2018

dev-feature/random-sort-criteria

dev-feature/random-sort-criteria

Criteria implementation for Yii2

  Sources   Download

MIT

The Requires

 

The Development Requires

by Alexander Letnikow

20/01 2018

dev-master

9999999-dev

Criteria implementation for Yii2

  Sources   Download

MIT

The Requires

 

The Development Requires

by Alexander Letnikow

20/01 2018

1.0.9

1.0.9.0

Criteria implementation for Yii2

  Sources   Download

MIT

The Requires

 

The Development Requires

by Alexander Letnikow

16/01 2018

1.0.8

1.0.8.0

Criteria implementation for Yii2

  Sources   Download

MIT

The Requires

 

The Development Requires

by Alexander Letnikow

16/01 2018

1.0.7

1.0.7.0

Criteria implementation for Yii2

  Sources   Download

MIT

The Requires

 

The Development Requires

by Alexander Letnikow

16/01 2018

1.0.6

1.0.6.0

Criteria implementation for Yii2

  Sources   Download

MIT

The Requires

 

The Development Requires

by Alexander Letnikow

16/01 2018

1.0.5

1.0.5.0

Criteria implementation for Yii2

  Sources   Download

MIT

The Requires

 

The Development Requires

by Alexander Letnikow

16/01 2018

1.0.4

1.0.4.0

Criteria implementation for Yii2

  Sources   Download

MIT

The Requires

 

The Development Requires

by Alexander Letnikow

05/01 2018

1.0.3.1

1.0.3.1

Criteria implementation for Yii2

  Sources   Download

MIT

The Requires

 

The Development Requires

by Alexander Letnikow

05/01 2018

1.0.3

1.0.3.0

Criteria implementation for Yii2

  Sources   Download

MIT

The Requires

 

The Development Requires

by Alexander Letnikow

05/01 2018

dev-develop

dev-develop

Criteria implementation for Yii2

  Sources   Download

MIT

The Requires

 

The Development Requires

by Alexander Letnikow

05/01 2018

1.0.2

1.0.2.0

Criteria implementation for Yii2

  Sources   Download

MIT

The Requires

 

The Development Requires

by Alexander Letnikow

29/12 2017

1.0.1

1.0.1.0

Criteria implementation for Yii2

  Sources   Download

MIT

The Requires

 

The Development Requires

by Alexander Letnikow

19/12 2017

1.0.0

1.0.0.0

Criteria implementation for Yii2

  Sources   Download

MIT

The Requires

 

The Development Requires

by Alexander Letnikow

18/12 2017

1.0.0-rc8

1.0.0.0-RC8

Criteria implementation for Yii2

  Sources   Download

MIT

The Requires

 

The Development Requires

by Alexander Letnikow

18/12 2017

1.0.0-rc7

1.0.0.0-RC7

Criteria implementation for Yii2

  Sources   Download

MIT

The Requires

 

The Development Requires

by Alexander Letnikow

18/12 2017

1.0.0-rc6

1.0.0.0-RC6

Criteria implementation for Yii2

  Sources   Download

MIT

The Requires

 

The Development Requires

by Alexander Letnikow

18/12 2017

1.0.0-rc5

1.0.0.0-RC5

Criteria implementation for Yii2

  Sources   Download

MIT

The Requires

 

The Development Requires

by Alexander Letnikow

18/12 2017

1.0.0-rc4

1.0.0.0-RC4

Criteria implementation for Yii2

  Sources   Download

MIT

The Requires

 

The Development Requires

by Alexander Letnikow

18/12 2017

1.0.0-rc3

1.0.0.0-RC3

Criteria implementation for Yii2

  Sources   Download

MIT

The Requires

 

The Development Requires

by Alexander Letnikow

18/12 2017

1.0.0-rc2

1.0.0.0-RC2

Criteria implementation for Yii2

  Sources   Download

MIT

The Requires

 

The Development Requires

by Alexander Letnikow

18/12 2017

1.0.0-rc1

1.0.0.0-RC1

Criteria implementation for Yii2

  Sources   Download

MIT

The Requires

 

The Development Requires

by Alexander Letnikow