protected function buildJoin($statements)
    {
        $sql = '';

        if (!array_key_exists('joins', $statements) || !is_array($statements['joins'])) {
            return $sql;
        }

        foreach ($statements['joins'] as $joinArr) {
            if (is_array($joinArr['table'])) {
                $mainTable = $joinArr['table'][0];
                $aliasTable = $joinArr['table'][1];
                $table = $this->wrapSanitizer($mainTable) . ' AS ' . $this->wrapSanitizer($aliasTable);
            } else {
                $table = $joinArr['table'] instanceof Raw ?
                    (string) $joinArr['table'] :
                    $this->wrapSanitizer($joinArr['table']);
            }
            $joinBuilder = $joinArr['joinBuilder'];

            $sqlArr = array(
                $sql,
                strtoupper($joinArr['type']),
                'JOIN',
                $table,
                'ON',
                $joinBuilder->getQuery('criteriaOnly', false)->getSql()
            );

            $sql = $this->concatenateQuery($sqlArr);
        }

        return $sql;
    }
protected function buildJoin($statements)
    {
        $sql = '';

        if (!array_key_exists('joins', $statements) || !is_array($statements['joins'])) {
            return $sql;
        }

        foreach ($statements['joins'] as $joinArr) {
            if (is_array($joinArr['table'])) {
                $mainTable = $joinArr['table'][0];
                $aliasTable = $joinArr['table'][1];
                $table = $this->wrapSanitizer($mainTable) . ' AS ' . $this->wrapSanitizer($aliasTable);
            } else {
                $table = $joinArr['table'] instanceof Raw ?
                    (string) $joinArr['table'] :
                    $this->wrapSanitizer($joinArr['table']);
            }
            $joinBuilder = $joinArr['joinBuilder'];

            $sqlArr = array(
                $sql,
                strtoupper($joinArr['type']),
                'JOIN',
                $table,
                'ON',
                $joinBuilder->getQuery('criteriaOnly', false)->getSql()
            );

            $sql = $this->concatenateQuery($sqlArr);
        }

        return $sql;
    }
protected function buildJoin ( $ statements ) { $ sql = '' ; if ( ! array_key_exists ( 'joins' , $ statements ) || ! is_array ( $ statements [ 'joins' ] ) ) { return $ sql ; } foreach ( $ statements [ 'joins' ] as $ joinArr ) { if ( is_array ( $ joinArr [ 'table' ] ) ) { $ mainTable = $ joinArr [ 'table' ] [ 0 ] ; $ aliasTable = $ joinArr [ 'table' ] [ 1 ] ; $ table = $ this -> wrapSanitizer ( $ mainTable ) . ' AS ' . $ this -> wrapSanitizer ( $ aliasTable ) ; } else { $ table = $ joinArr [ 'table' ] instanceof Raw ? ( string ) $ joinArr [ 'table' ] : $ this -> wrapSanitizer ( $ joinArr [ 'table' ] ) ; } $ joinBuilder = $ joinArr [ 'joinBuilder' ] ; $ sqlArr = array ( $ sql , strtoupper ( $ joinArr [ 'type' ] ) , 'JOIN' , $ table , 'ON' , $ joinBuilder -> getQuery ( 'criteriaOnly' , false ) -> getSql ( ) ) ; $ sql = $ this -> concatenateQuery ( $ sqlArr ) ; } return $ sql ; }
Build join string

@param $statements

@return array
Build join string