public function formatJoins(array $joins) {
        if ($joins) {
            $output = [];

            foreach ($joins as $join) {
                $conditions = [];

                foreach ($join->getOn() as $pfk => $rfk) {
                    $conditions[] = $this->quote($pfk) . ' = ' . $this->quote($rfk);
                }

                $output[] = sprintf($this->getClause($join->getType()),
                    $this->formatTable($join->getTable(), $join->getAlias()),
                    implode(' ' . $this->getKeyword(self::ALSO) . ' ', $conditions));
            }

            return implode(' ', $output);
        }

        return '';
    }