lithium\data\source\Database::join PHP Method

join() public method

Set a query's join according a Relationship.
public join ( object $context, object $rel, string $fromAlias = null, string $toAlias = null, mixed $constraints = [] )
$context object A Query instance
$rel object A Relationship instance
$fromAlias string Set a specific alias for the `'from'` `Model`.
$toAlias string Set a specific alias for `'to'` `Model`.
$constraints mixed If `$constraints` is an array, it will be merged to defaults constraints. If `$constraints` is an object, defaults won't be merged.
    public function join($context, $rel, $fromAlias = null, $toAlias = null, $constraints = array())
    {
        $model = $rel->to();
        if ($fromAlias === null) {
            $fromAlias = $context->alias();
        }
        if ($toAlias === null) {
            $toAlias = $context->alias(null, $rel->name());
        }
        if (!is_object($constraints)) {
            $constraints = $this->on($rel, $fromAlias, $toAlias, $constraints);
        } else {
            $constraints = (array) $constraints;
        }
        $context->joins($toAlias, compact('constraints', 'model') + array('mode' => 'LEFT', 'alias' => $toAlias));
    }