mini\Table\Wrappers\BarrierTable final class

Documentation

Barrier that prevents filter/order pushdown to preserve result set membership

When a table has LIMIT/OFFSET applied, further filtering should operate on those specific rows, not modify the underlying query. BarrierTable acts as a boundary that prevents filter pushdown.

// Without barrier: eq() modifies query, still returns 10 rows
$users->order('age DESC')->limit(10)->eq('gender', 'male');  // 10 males

// With barrier: eq() filters the 10 rows we already selected
BarrierTable::from($users->order('age DESC')->limit(10))
    ->eq('gender', 'male');  // ~5 males from the original 10

Inheritance

Extends: mini\Table\Wrappers\AbstractTableWrapper

Implements: mini\Table\Contracts\TableInterface Traversable Countable IteratorAggregate mini\Table\Contracts\SetInterface

Properties (4)

protected mini\Table\AbstractTable $source
protected ?Closure $compareFn
protected ?int $limit
protected int $offset

Methods (37)

Freeze a table if it has pagination, otherwise return as-is

Documentation missing

Documentation missing

Documentation missing

Documentation missing

Documentation missing

Documentation missing

Documentation missing

Documentation missing

Documentation missing

Documentation missing

Documentation missing

Documentation missing

Documentation missing

Documentation missing

Documentation missing

Documentation missing

public getSource()
inherited from mini\Table\Wrappers\AbstractTableWrapper

Get the source table this wrapper delegates to

public getProperty()
inherited from mini\Table\Wrappers\AbstractTableWrapper

Documentation missing

public hasProperty()
inherited from mini\Table\Wrappers\AbstractTableWrapper

Documentation missing

public getColumns()
inherited from mini\Table\Wrappers\AbstractTableWrapper

Documentation missing

public getAllColumns()
inherited from mini\Table\Wrappers\AbstractTableWrapper

Documentation missing

public columns()
inherited from mini\Table\Wrappers\AbstractTableWrapper

Documentation missing

public load()
inherited from mini\Table\Wrappers\AbstractTableWrapper

Documentation missing

protected getCompareFn()
inherited from mini\Table\Wrappers\AbstractTableWrapper

Documentation missing

public __clone()
inherited from mini\Table\AbstractTable

Hook for subclasses to customize clone behavior

public getRowKeyColumns()
inherited from mini\Table\AbstractTable

Get column name(s) that the row key represents

public withAlias()
inherited from mini\Table\AbstractTable

Documentation missing

public getTableAlias()
inherited from mini\Table\AbstractTable

Get the current table alias (null if not set)

public union()
inherited from mini\Table\AbstractTable

Documentation missing

public except()
inherited from mini\Table\AbstractTable

Documentation missing

public distinct()
inherited from mini\Table\AbstractTable

Documentation missing

public exists()
inherited from mini\Table\AbstractTable

Documentation missing

public has()
inherited from mini\Table\AbstractTable

Check if value(s) exist in the table's projected columns

protected getPrimaryKeyColumn()
inherited from mini\Table\AbstractTable

Get the primary key column definition (cached)

public final getIterator()
inherited from mini\Table\AbstractTable

Iterate over rows with visible columns only

public withProperty()
inherited from mini\Table\AbstractTable

Return table with property set

Source

src/Table/Wrappers/BarrierTable.php:29-168