1
0
mirror of synced 2024-12-14 07:06:04 +03:00
This commit is contained in:
zYne 2007-09-12 22:03:25 +00:00
parent 2f66d604d6
commit c8578d434a

View File

@ -983,7 +983,7 @@ class Doctrine_Query extends Doctrine_Query_Abstract implements Countable
if ( ! empty($sql)) { if ( ! empty($sql)) {
array_unshift($this->parts['select'], implode(', ', $sql)); array_unshift($this->parts['select'], implode(', ', $sql));
} }
$this->pendingFields = array(); $this->pendingFields = array();
// build the basic query // build the basic query
@ -999,7 +999,11 @@ class Doctrine_Query extends Doctrine_Query_Abstract implements Countable
// apply inheritance to WHERE part // apply inheritance to WHERE part
if ( ! empty($string)) { if ( ! empty($string)) {
$this->parts['where'][] = '(' . $string . ')'; if (substr($string, 0, 1) === '(' && substr($string, -1) === ')') {
$this->parts['where'][] = $string;
} else {
$this->parts['where'][] = '(' . $string . ')';
}
} }
@ -1417,13 +1421,15 @@ class Doctrine_Query extends Doctrine_Query_Abstract implements Countable
$asf = $relation->getAssociationTable(); $asf = $relation->getAssociationTable();
$assocTableName = $asf->getTableName(); $assocTableName = $asf->getTableName();
if ( ! $loadFields || ! empty($map) || $joinCondition) { if ( ! $loadFields || ! empty($map) || $joinCondition) {
$this->subqueryAliases[] = $assocTableName; $this->subqueryAliases[] = $assocTableName;
} }
$assocPath = $prevPath . '.' . $asf->getComponentName(); $assocPath = $prevPath . '.' . $asf->getComponentName();
$this->_aliasMap[$assocPath] = array('parent' => $prevPath, 'relation' => $relation, 'table' => $asf);
$assocAlias = $this->getTableAlias($assocPath, $asf->getTableName()); $assocAlias = $this->getTableAlias($assocPath, $asf->getTableName());
$queryPart = $join . $assocTableName . ' ' . $assocAlias; $queryPart = $join . $assocTableName . ' ' . $assocAlias;