/**
  * 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);
 }