Skip to content
Snippets Groups Projects
Commit 669eaa29 authored by catch's avatar catch
Browse files

Issue #1829942 by amateescu: Fixed Cloning an entity query doesn't clone its conditions.

parent 92804b4c
No related branches found
No related tags found
2 merge requests!7452Issue #1797438. HTML5 validation is preventing form submit and not fully...,!789Issue #3210310: Adjust Database API to remove deprecated Drupal 9 code in Drupal 10
......@@ -233,4 +233,10 @@ public function tableSort(&$headers) {
return $this;
}
/**
* Makes sure that the Condition object is cloned as well.
*/
function __clone() {
$this->condition = clone $this->condition;
}
}
......@@ -156,6 +156,20 @@ function testEntityQuery() {
// 15) needs to be set.
$this->assertResult(1, 3, 4, 5, 6, 7, 9, 11, 12, 13, 14, 15);
// Test cloning of query conditions.
$query = $this->factory->get('test_entity')
->condition("$figures.color", 'red')
->sort('ftid');
$cloned_query = clone $query;
$cloned_query
->condition("$figures.shape", 'circle');
// Bit 0 (1, 3, 5, 7, 9, 11, 13, 15) needs to be set.
$this->queryResults = $query->execute();
$this->assertResult(1, 3, 5, 7, 9, 11, 13, 15);
// No red color has a circle shape.
$this->queryResults = $cloned_query->execute();
$this->assertResult();
$query = $this->factory->get('test_entity');
$group = $query->orConditionGroup()
->exists($greetings, 'tr')
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment