mini\Table\Wrappers\FullJoinTable class

Documentation

Full outer join of two tables with ON condition

Yields all rows from both tables:

  • Matched rows have data from both tables
  • Unmatched left rows have NULL for right columns
  • Unmatched right rows have NULL for left columns

Uses property-based binding: left table must have 'bind' property with Predicate.

// SELECT * FROM users u FULL JOIN orders o ON u.id = o.user_id
new FullJoinTable(
    $users->withAlias('u')->withProperty('__bind__', p->eqBind('u.id', ':o.user_id')),
    $orders->withAlias('o')
)

Inheritance

Extends: mini\Table\AbstractTable

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

Properties (9)

private mini\Table\Predicate $bindPredicate
private array $bindParams
private array $leftColNames
private array $rightColNames
protected ?Closure $compareFn
protected ?int $limit
protected int $offset

Methods (39)

Documentation missing

Documentation missing

Extract binding values from a right row

Merge two rows into a single object

Merge left row with NULL values for right columns

Merge right row with NULL values for left columns

Documentation missing

Documentation missing

Documentation missing

Documentation missing

Documentation missing

Documentation missing

Documentation missing

Documentation missing

Documentation missing

Hook for subclasses to customize clone behavior

Get column name(s) that the row key represents

Get the string comparison function for sorting

Documentation missing

Documentation missing

Documentation missing

Documentation missing

Documentation missing

Get the current table alias (null if not set)

Documentation missing

Documentation missing

Documentation missing

Filter rows matching any of the given predicates (OR semantics)

Documentation missing

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

Get the primary key column definition (cached)

Iterate over rows with visible columns only

Get columns available for output

Get all column definitions regardless of projection

Narrow to specific columns

Load a single row by its row ID

Get a property value

Check if a property exists (including null values)

Return table with property set

Source

src/Table/Wrappers/FullJoinTable.php:31-276