2017 © Pedro Peláez
 

yii2-extension yii2-array-query

Yii2 component that allows for searching/filtering the elements of an array.

image

yii2mod/yii2-array-query

Yii2 component that allows for searching/filtering the elements of an array.

  • Sunday, October 8, 2017
  • by disem
  • Repository
  • 3 Watchers
  • 15 Stars
  • 1,051 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 5 Forks
  • 0 Open issues
  • 5 Versions
  • 41 % Grown

The README.md

, (*1)

Yii2 ArrayQuery Component


Allows searching/filtering of an array. This component is very useful when displaying array data in GridViews with an ArrayDataProvider., (*2)

Latest Stable Version Total Downloads License Build Status, (*3)

Installation

The preferred way to install this extension is through composer., (*4)

Either run, (*5)

php composer.phar require --prefer-dist yii2mod/yii2-array-query "*"

or add, (*6)

"yii2mod/yii2-array-query": "*"

to the require section of your composer.json., (*7)

Querying Data

You may execute complex query on the array data using [[\yii2mod\query\ArrayQuery]] class. This class works similar to regular [[\yii\db\Query]] and uses same syntax. For example:, (*8)

$data = [
    [
        'id' => 1,
        'username' => 'admin',
        'email' => 'admin@example.com'
    ],
    [
        'id' => 2,
        'username' => 'test',
        'email' => 'test@example.com'
    ],
];

$query = new ArrayQuery();
$query->from($data);
$query->where(['username' => 'admin']);

$rows = $query->all();

Using with ArrayDataProvider

You may perform filtering using [[\yii2mod\query\ArrayQuery]] class. For example:, (*9)

<?php

// Some search model

/**
 * Setup search function for filtering and sorting.
 * @param $params
 * @return ArrayDataProvider
 */
public function search($params)
{
    $models = User::find()->asArray()->all();

    $query = new ArrayQuery();
    $query->from($models);

    // load the search form data and validate
    if ($this->load($params) && $this->validate()) {
        // adjust the query by adding the filters
        $query->andFilterWhere(['id' => $this->id]);
        $query->andFilterWhere(['status' => $this->status]);
        $query->andFilterWhere(['like', 'username', $this->username]);
        $query->andFilterWhere(['like', 'email', $this->email]);
    }

    // prepare the ArrayDataProvider
    return new ArrayDataProvider([
        'allModels' => $query->indexBy('id')->all(),
        'sort' => [
            'attributes' => ['id', 'username', 'email', 'status'],
        ],
        'pagination' => [
            'pageSize' => 10
        ],
    ]);
}

Support us

Does your business depend on our contributions? Reach out and support us on Patreon. All pledges will be dedicated to allocating workforce on maintenance and new awesome stuff., (*10)

The Versions

08/10 2017

dev-master

9999999-dev

Yii2 component that allows for searching/filtering the elements of an array.

  Sources   Download

MIT

The Requires

 

The Development Requires

by Igor Chepurnoy
by Igor Chepurnoi

yii2 yii2 array query yii2 array search

08/10 2017

1.3

1.3.0.0

Yii2 component that allows for searching/filtering the elements of an array.

  Sources   Download

MIT

The Requires

 

The Development Requires

by Igor Chepurnoi

yii2 yii2 array query yii2 array search

22/11 2016

1.2

1.2.0.0

Yii2 component that allows for searching/filtering the elements of an array.

  Sources   Download

MIT

The Requires

 

The Development Requires

by Igor Chepurnoy

yii2 yii2 array query yii2 array search

05/09 2016

1.1

1.1.0.0

Yii2 component that allows for searching/filtering the elements of an array.

  Sources   Download

MIT

The Requires

 

by Igor Chepurnoy

yii2 yii2 array query yii2 array search

29/08 2016

1.0

1.0.0.0

Yii2 component that allows for searching/filtering the elements of an array.

  Sources   Download

MIT

The Requires

 

by Igor Chepurnoy

yii2 yii2 array query yii2 array search