Aggregated Methods

Learn about DataStore's aggregated methods

Original data
nameageincome
John 26 $50,000
Marry 29 $60,000
Peter 34 $100,000
Donald 28 $80,000
filter()

$store = $this->dataStore("data")
        ->filter("income",">",50000);
nameageincome
Marry 29 $60,000
Peter 34 $100,000
Donald 28 $80,000
filter($callback)

$store = $this->dataStore("data")
        ->filter(function($row){
            return $row["income"]>50000;
        });
nameageincome
Marry 29 $60,000
Peter 34 $100,000
Donald 28 $80,000
where()

$store = $this->dataStore("data")
        ->where("income",60000);
nameageincome
Marry 29 $60,000
except()

$store = $this->dataStore("data")
        ->except("income","age");
name
John
Marry
Peter
Donald
only()

$store = $this->dataStore("data")
        ->only("name","income");
nameincome
John $50,000
Marry $60,000
Peter $100,000
Donald $80,000
whereIn()

$store = $this->dataStore("data")
        ->whereIn("name",["John","Marry"]);
nameageincome
John 26 $50,000
Marry 29 $60,000
whereNotIn()

$store = $this->dataStore("data")
        ->whereNotIn("name",["John","Marry"]);
nameageincome
Peter 34 $100,000
Donald 28 $80,000
Description

This example shows some of most used methods for filtering in DataStore.

Beside above most used methods, there are number of additional methods:

  1. all(): Return all rows
  2. top($size,$offset): Get the top {$size} rows starting from {$offset}
  3. topByPercent($percent): Get top percent of rows
  4. bottom($size): Get the bottom {$size} rows
  5. bottomByPercent($percent): Get bottom percent of rows
  6. first($callback): Return the first row matching condition defined by callback function
  7. last($callback): Return the last row matching condition defined by callback function
  8. take($limit): Get number of rows, if $limit is negative, take the bottom