function Join(Table $table, JoinType $join, Condition $condition, $prepend = false)
    {
        $result = $this->Duplicate();
        if ($prepend)
        {
            array_unshift($result->tables, $table);
            array_unshift($result->joins, $join);
            array_unshift($result->conditions, $condition);
        }
        else
        {    
            $result->tables[] = $table;
            $result->joins[] = $join;
            $result->conditions[] = $condition;
        }
        return $result;
    }
function Join(Table $table, JoinType $join, Condition $condition, $prepend = false)
    {
        $result = $this->Duplicate();
        if ($prepend)
        {
            array_unshift($result->tables, $table);
            array_unshift($result->joins, $join);
            array_unshift($result->conditions, $condition);
        }
        else
        {    
            $result->tables[] = $table;
            $result->joins[] = $join;
            $result->conditions[] = $condition;
        }
        return $result;
    }
function Join ( Table $ table , JoinType $ join , Condition $ condition , $ prepend = false ) { $ result = $ this -> Duplicate ( ) ; if ( $ prepend ) { array_unshift ( $ result -> tables , $ table ) ; array_unshift ( $ result -> joins , $ join ) ; array_unshift ( $ result -> conditions , $ condition ) ; } else { $ result -> tables [ ] = $ table ; $ result -> joins [ ] = $ join ; $ result -> conditions [ ] = $ condition ; } return $ result ; }
Returns a new source as given join of this and the given source.
@param Source $source
@param Join $join
@param Condition $condition
@return Join
Returns a new source as given join of this and the given source .