Example #1
0
 /**
  * Populate the {@link $_parts} 'join' key
  *
  * Does the dirty work of populating the join key.
  *
  * The $name and $cols parameters follow the same logic
  * as described in the from() method.
  *
  * @param  null|string $type Type of join; inner, left, and null are currently supported
  * @param  array|string|Zend_Db_Expr $name Table name
  * @param  string $cond Join on this condition
  * @param  array|string $cols The columns to select from the joined table
  * @param  string $schema The database name to specify, if any.
  * @return Axis_Db_Table_Select This Axis_Db_Table_Select object
  */
 protected function _join($type, $name, $cond, $cols, $schema = null)
 {
     //        if ($type != self::FROM && count($this->_parts[self::FROM])) {
     //            throw new Zend_Db_Select_Exception("");
     //        }
     if (true === $this->_useCorrelationName && !is_array($name)) {
         $name = array($this->_getCorrelationTableName($name) => $name);
     }
     $prefix = $this->_info[Axis_Db_Table_Abstract::PREFIX];
     if (is_array($name)) {
         foreach ($name as $_correlationName => $_tableName) {
             $tableName = $prefix . $_tableName;
             $correlationName = $_correlationName;
             break;
         }
         $name = array($correlationName => $tableName);
     } else {
         $name = $prefix . $name;
     }
     return parent::_join($type, $name, $cond, $cols, $schema);
 }