/** * Compile the "join" portions of the query. * * @param \Database\Query\Builder $query * @param array $joins * @return string */ protected function compileJoins(Builder $query, $joins) { $sql = array(); $query->setBindings(array(), 'join'); foreach ($joins as $join) { $table = $this->wrapTable($join->table); $clauses = array(); foreach ($join->clauses as $clause) { $clauses[] = $this->compileJoinConstraint($clause); } foreach ($join->bindings as $binding) { $query->addBinding($binding, 'join'); } $clauses[0] = $this->removeLeadingBoolean($clauses[0]); $clauses = implode(' ', $clauses); $type = $join->type; // $sql[] = "{$type} join {$table} on {$clauses}"; } return implode(' ', $sql); }