Commit 260b9ae2 authored by guilhermeblanco's avatar guilhermeblanco

Added support to params in join methods of Doctrine_Query

parent c2282dac
...@@ -294,7 +294,7 @@ class Doctrine_Query extends Doctrine_Query_Abstract implements Countable, Seria ...@@ -294,7 +294,7 @@ class Doctrine_Query extends Doctrine_Query_Abstract implements Countable, Seria
*/ */
public function getParams() public function getParams()
{ {
return array_merge($this->_params['set'], $this->_params['where'], $this->_params['having']); return array_merge($this->_params['join'], $this->_params['set'], $this->_params['where'], $this->_params['having']);
} }
/** /**
......
...@@ -102,7 +102,8 @@ abstract class Doctrine_Query_Abstract ...@@ -102,7 +102,8 @@ abstract class Doctrine_Query_Abstract
/** /**
* @var array $params The parameters of this query. * @var array $params The parameters of this query.
*/ */
protected $_params = array('where' => array(), protected $_params = array('join' => array(),
'where' => array(),
'set' => array(), 'set' => array(),
'having' => array()); 'having' => array());
...@@ -913,7 +914,8 @@ abstract class Doctrine_Query_Abstract ...@@ -913,7 +914,8 @@ abstract class Doctrine_Query_Abstract
*/ */
public function execute($params = array(), $hydrationMode = null) public function execute($params = array(), $hydrationMode = null)
{ {
$params = array_merge($this->_params['set'], $params = array_merge($this->_params['join'],
$this->_params['set'],
$this->_params['where'], $this->_params['where'],
$this->_params['having'], $this->_params['having'],
$params); $params);
...@@ -1280,8 +1282,14 @@ abstract class Doctrine_Query_Abstract ...@@ -1280,8 +1282,14 @@ abstract class Doctrine_Query_Abstract
* @param string $join Query INNER JOIN * @param string $join Query INNER JOIN
* @return Doctrine_Query * @return Doctrine_Query
*/ */
public function innerJoin($join) public function innerJoin($join, $params = array())
{ {
if (is_array($params)) {
$this->_params['join'] = array_merge($this->_params['join'], $params);
} else {
$this->_params['join'][] = $params;
}
return $this->_addDqlQueryPart('from', 'INNER JOIN ' . $join, true); return $this->_addDqlQueryPart('from', 'INNER JOIN ' . $join, true);
} }
...@@ -1292,8 +1300,14 @@ abstract class Doctrine_Query_Abstract ...@@ -1292,8 +1300,14 @@ abstract class Doctrine_Query_Abstract
* @param string $join Query LEFT JOIN * @param string $join Query LEFT JOIN
* @return Doctrine_Query * @return Doctrine_Query
*/ */
public function leftJoin($join) public function leftJoin($join, $params = array())
{ {
if (is_array($params)) {
$this->_params['join'] = array_merge($this->_params['join'], $params);
} else {
$this->_params['join'][] = $params;
}
return $this->_addDqlQueryPart('from', 'LEFT JOIN ' . $join, true); return $this->_addDqlQueryPart('from', 'LEFT JOIN ' . $join, true);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment