private function _join($type, $mixed, $criteria, $alias='')
    {
        if (is_object($mixed)) {
            $this->_joins []= sprintf('%s (%s) %s %s', $type, $mixed, $alias ?: 'derived', $criteria);
        } elseif ($alias) {
            $this->_joins []= sprintf('%s `%s` AS `%s` %s', $type, $mixed, $alias, $criteria);
        } else {
            $this->_joins []= sprintf('%s `%s` %s', $type, $mixed, $criteria);
        }

        return $this;
    }
private function _join($type, $mixed, $criteria, $alias='')
    {
        if (is_object($mixed)) {
            $this->_joins []= sprintf('%s (%s) %s %s', $type, $mixed, $alias ?: 'derived', $criteria);
        } elseif ($alias) {
            $this->_joins []= sprintf('%s `%s` AS `%s` %s', $type, $mixed, $alias, $criteria);
        } else {
            $this->_joins []= sprintf('%s `%s` %s', $type, $mixed, $criteria);
        }

        return $this;
    }
private function _join ( $ type , $ mixed , $ criteria , $ alias = '' ) { if ( is_object ( $ mixed ) ) { $ this -> _joins [ ] = sprintf ( '%s (%s) %s %s' , $ type , $ mixed , $ alias ? : 'derived' , $ criteria ) ; } elseif ( $ alias ) { $ this -> _joins [ ] = sprintf ( '%s `%s` AS `%s` %s' , $ type , $ mixed , $ alias , $ criteria ) ; } else { $ this -> _joins [ ] = sprintf ( '%s `%s` %s' , $ type , $ mixed , $ criteria ) ; } return $ this ; }
private helper methods
private helper methods