DataFilter API
Complete API reference for DataFilter.
Static Methods
Section titled “Static Methods”make(mixed $data): self
Section titled “make(mixed $data): self”Create a new instance.
use event4u\DataHelpers\DataFilter;
$data = [['id' => 1, 'name' => 'John']];$filter = DataFilter::make($data);Filter Methods
Section titled “Filter Methods”only(array $keys): self
Section titled “only(array $keys): self”Keep only specified keys.
use event4u\DataHelpers\DataFilter;
$data = [['id' => 1, 'name' => 'John', 'age' => 25], ['id' => 2, 'name' => 'Jane', 'age' => 30]];$filter = DataFilter::query($data);$result = $filter->only(['name', 'age'])->get();except(array $keys): self
Section titled “except(array $keys): self”Remove specified keys.
use event4u\DataHelpers\DataFilter;
$data = [['id' => 1, 'name' => 'John', 'age' => 25], ['id' => 2, 'name' => 'Jane', 'age' => 30]];$filter = DataFilter::query($data);$result = $filter->except(['id'])->get();where(string $key, mixed $value): self
Section titled “where(string $key, mixed $value): self”Filter by key-value.
use event4u\DataHelpers\DataFilter;
$data = [['id' => 1, 'name' => 'John', 'age' => 25], ['id' => 2, 'name' => 'Jane', 'age' => 30]];$filter = DataFilter::query($data);$filter->where('status', 'active');whereIn(string $key, array $values): self
Section titled “whereIn(string $key, array $values): self”Filter by key in values.
use event4u\DataHelpers\DataFilter;
$data = [['id' => 1, 'name' => 'John', 'age' => 25], ['id' => 2, 'name' => 'Jane', 'age' => 30]];$filter = DataFilter::query($data);$filter->whereIn('role', ['admin', 'moderator']);whereNotNull(string $key): self
Section titled “whereNotNull(string $key): self”Filter where key is not null.
use event4u\DataHelpers\DataFilter;
$data = [['id' => 1, 'name' => 'John', 'age' => 25], ['id' => 2, 'name' => 'Jane', 'age' => 30]];$filter = DataFilter::query($data);$filter->whereNotNull('email');Transform Methods
Section titled “Transform Methods”map(callable $callback): self
Section titled “map(callable $callback): self”Transform each item.
use event4u\DataHelpers\DataFilter;
$data = [['id' => 1, 'name' => 'John', 'age' => 25], ['id' => 2, 'name' => 'Jane', 'age' => 30]];$filter = DataFilter::query($data);$result = $filter->map(fn($item) => ['name' => strtoupper($item['name']), 'age' => $item['age']])->get();filter(callable $callback): self
Section titled “filter(callable $callback): self”Filter items by callback.
use event4u\DataHelpers\DataFilter;
$data = [['id' => 1, 'name' => 'John', 'age' => 25, 'active' => true], ['id' => 2, 'name' => 'Jane', 'age' => 30, 'active' => false]];$filter = DataFilter::query($data);$result = $filter->filter(fn($item) => $item['active'])->get();Result Methods
Section titled “Result Methods”toArray(): array
Section titled “toArray(): array”Get filtered array.
use event4u\DataHelpers\DataFilter;
$data = [['id' => 1, 'name' => 'John', 'age' => 25], ['id' => 2, 'name' => 'Jane', 'age' => 30]];$filter = DataFilter::query($data);$result = $filter->toArray();first(): mixed
Section titled “first(): mixed”Get first item.
use event4u\DataHelpers\DataFilter;
$data = [['id' => 1, 'name' => 'John', 'age' => 25], ['id' => 2, 'name' => 'Jane', 'age' => 30]];$filter = DataFilter::query($data);$first = $filter->first();count(): int
Section titled “count(): int”Count items.
use event4u\DataHelpers\DataFilter;
$data = [['id' => 1, 'name' => 'John', 'age' => 25], ['id' => 2, 'name' => 'Jane', 'age' => 30]];$filter = DataFilter::query($data);$count = $filter->count();See Also
Section titled “See Also”- DataFilter Guide - Complete guide