You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is basically a duplicate of another issue I stumbled across lately but cannot find here again. It added a **clone() function to the ORM QueryBuilder to allow this use case:
Create a base query and derive two different queries from it.
I adopted the code for the DBAL QueryBuilder which is suffering the same issue (e.g. expressions were not cloned but shared between instances). The code is tested at least for my limited use case.
/****
* Deep clone of all expression objects in the SQL parts.
*
* @return void
*/
public function **clone()
{
foreach ($this->sqlParts as $part => $elements) {
if (is_array($this->sqlParts[$part])) {
foreach ($this->sqlParts[$part] as $idx => $element) {
if (is_object($element)) {
$this->sqlParts[$part][$idx] = clone $element;
}
}
} else if (is_object($elements)) {
$this->sqlParts[$part] = clone $elements;
}
}
$params = array();
foreach ($this->params as $param) {
$params[] = clone $param;
}
$this->params = $params;
}
The text was updated successfully, but these errors were encountered:
Thanks for adding the code tags. Just updated my doctrine to 2.4-RC1 and did not find this in there. Would be nice to see this in the new version. Any obstacles I could be of help with?
Jira issue originally created by user tcm:
This is basically a duplicate of another issue I stumbled across lately but cannot find here again. It added a **clone() function to the ORM QueryBuilder to allow this use case:
Create a base query and derive two different queries from it.
I adopted the code for the DBAL QueryBuilder which is suffering the same issue (e.g. expressions were not cloned but shared between instances). The code is tested at least for my limited use case.
The text was updated successfully, but these errors were encountered: