|
@@ 454-468 (lines=15) @@
|
| 451 |
|
/** |
| 452 |
|
* @group DDC-2844 |
| 453 |
|
*/ |
| 454 |
|
public function testAddCriteriaWhereWithMultipleParametersWithSameField() |
| 455 |
|
{ |
| 456 |
|
$qb = $this->_em->createQueryBuilder(); |
| 457 |
|
$qb->select('alias1')->from(CmsUser::class, 'alias1'); |
| 458 |
|
|
| 459 |
|
$criteria = new Criteria(); |
| 460 |
|
$criteria->where($criteria->expr()->eq('field', 'value1')); |
| 461 |
|
$criteria->andWhere($criteria->expr()->gt('field', 'value2')); |
| 462 |
|
|
| 463 |
|
$qb->addCriteria($criteria); |
| 464 |
|
|
| 465 |
|
$this->assertEquals('alias1.field = :field AND alias1.field > :field_1', (string) $qb->getDQLPart('where')); |
| 466 |
|
$this->assertSame('value1', $qb->getParameter('field')->getValue()); |
| 467 |
|
$this->assertSame('value2', $qb->getParameter('field_1')->getValue()); |
| 468 |
|
} |
| 469 |
|
|
| 470 |
|
/** |
| 471 |
|
* @group DDC-2844 |
|
@@ 473-487 (lines=15) @@
|
| 470 |
|
/** |
| 471 |
|
* @group DDC-2844 |
| 472 |
|
*/ |
| 473 |
|
public function testAddCriteriaWhereWithMultipleParametersWithDifferentFields() |
| 474 |
|
{ |
| 475 |
|
$qb = $this->_em->createQueryBuilder(); |
| 476 |
|
$qb->select('alias1')->from(CmsUser::class, 'alias1'); |
| 477 |
|
|
| 478 |
|
$criteria = new Criteria(); |
| 479 |
|
$criteria->where($criteria->expr()->eq('field1', 'value1')); |
| 480 |
|
$criteria->andWhere($criteria->expr()->gt('field2', 'value2')); |
| 481 |
|
|
| 482 |
|
$qb->addCriteria($criteria); |
| 483 |
|
|
| 484 |
|
$this->assertEquals('alias1.field1 = :field1 AND alias1.field2 > :field2', (string) $qb->getDQLPart('where')); |
| 485 |
|
$this->assertSame('value1', $qb->getParameter('field1')->getValue()); |
| 486 |
|
$this->assertSame('value2', $qb->getParameter('field2')->getValue()); |
| 487 |
|
} |
| 488 |
|
|
| 489 |
|
/** |
| 490 |
|
* @group DDC-2844 |
|
@@ 492-506 (lines=15) @@
|
| 489 |
|
/** |
| 490 |
|
* @group DDC-2844 |
| 491 |
|
*/ |
| 492 |
|
public function testAddCriteriaWhereWithMultipleParametersWithSubpathsAndDifferentProperties() |
| 493 |
|
{ |
| 494 |
|
$qb = $this->_em->createQueryBuilder(); |
| 495 |
|
$qb->select('alias1')->from(CmsUser::class, 'alias1'); |
| 496 |
|
|
| 497 |
|
$criteria = new Criteria(); |
| 498 |
|
$criteria->where($criteria->expr()->eq('field1', 'value1')); |
| 499 |
|
$criteria->andWhere($criteria->expr()->gt('field2', 'value2')); |
| 500 |
|
|
| 501 |
|
$qb->addCriteria($criteria); |
| 502 |
|
|
| 503 |
|
$this->assertEquals('alias1.field1 = :field1 AND alias1.field2 > :field2', (string) $qb->getDQLPart('where')); |
| 504 |
|
$this->assertSame('value1', $qb->getParameter('field1')->getValue()); |
| 505 |
|
$this->assertSame('value2', $qb->getParameter('field2')->getValue()); |
| 506 |
|
} |
| 507 |
|
|
| 508 |
|
/** |
| 509 |
|
* @group DDC-2844 |
|
@@ 511-525 (lines=15) @@
|
| 508 |
|
/** |
| 509 |
|
* @group DDC-2844 |
| 510 |
|
*/ |
| 511 |
|
public function testAddCriteriaWhereWithMultipleParametersWithSubpathsAndSameProperty() |
| 512 |
|
{ |
| 513 |
|
$qb = $this->_em->createQueryBuilder(); |
| 514 |
|
$qb->select('alias1')->from(CmsUser::class, 'alias1'); |
| 515 |
|
|
| 516 |
|
$criteria = new Criteria(); |
| 517 |
|
$criteria->where($criteria->expr()->eq('field1', 'value1')); |
| 518 |
|
$criteria->andWhere($criteria->expr()->gt('field1', 'value2')); |
| 519 |
|
|
| 520 |
|
$qb->addCriteria($criteria); |
| 521 |
|
|
| 522 |
|
$this->assertEquals('alias1.field1 = :field1 AND alias1.field1 > :field1_1', (string) $qb->getDQLPart('where')); |
| 523 |
|
$this->assertSame('value1', $qb->getParameter('field1')->getValue()); |
| 524 |
|
$this->assertSame('value2', $qb->getParameter('field1_1')->getValue()); |
| 525 |
|
} |
| 526 |
|
|
| 527 |
|
public function testAddCriteriaOrder() |
| 528 |
|
{ |
|
@@ 887-902 (lines=16) @@
|
| 884 |
|
/** |
| 885 |
|
* @group DDC-3108 |
| 886 |
|
*/ |
| 887 |
|
public function testAddCriteriaWhereWithJoinAlias() |
| 888 |
|
{ |
| 889 |
|
$qb = $this->_em->createQueryBuilder(); |
| 890 |
|
$qb->select('alias1')->from(CmsUser::class, 'alias1'); |
| 891 |
|
$qb->join('alias1.articles','alias2'); |
| 892 |
|
|
| 893 |
|
$criteria = new Criteria(); |
| 894 |
|
$criteria->where($criteria->expr()->eq('field', 'value1')); |
| 895 |
|
$criteria->andWhere($criteria->expr()->gt('alias2.field', 'value2')); |
| 896 |
|
|
| 897 |
|
$qb->addCriteria($criteria); |
| 898 |
|
|
| 899 |
|
$this->assertEquals('alias1.field = :field AND alias2.field > :alias2_field', (string) $qb->getDQLPart('where')); |
| 900 |
|
$this->assertSame('value1', $qb->getParameter('field')->getValue()); |
| 901 |
|
$this->assertSame('value2', $qb->getParameter('alias2_field')->getValue()); |
| 902 |
|
} |
| 903 |
|
|
| 904 |
|
/** |
| 905 |
|
* @group DDC-3108 |
|
@@ 907-922 (lines=16) @@
|
| 904 |
|
/** |
| 905 |
|
* @group DDC-3108 |
| 906 |
|
*/ |
| 907 |
|
public function testAddCriteriaWhereWithDefaultAndJoinAlias() |
| 908 |
|
{ |
| 909 |
|
$qb = $this->_em->createQueryBuilder(); |
| 910 |
|
$qb->select('alias1')->from(CmsUser::class, 'alias1'); |
| 911 |
|
$qb->join('alias1.articles','alias2'); |
| 912 |
|
|
| 913 |
|
$criteria = new Criteria(); |
| 914 |
|
$criteria->where($criteria->expr()->eq('alias1.field', 'value1')); |
| 915 |
|
$criteria->andWhere($criteria->expr()->gt('alias2.field', 'value2')); |
| 916 |
|
|
| 917 |
|
$qb->addCriteria($criteria); |
| 918 |
|
|
| 919 |
|
$this->assertEquals('alias1.field = :alias1_field AND alias2.field > :alias2_field', (string) $qb->getDQLPart('where')); |
| 920 |
|
$this->assertSame('value1', $qb->getParameter('alias1_field')->getValue()); |
| 921 |
|
$this->assertSame('value2', $qb->getParameter('alias2_field')->getValue()); |
| 922 |
|
} |
| 923 |
|
|
| 924 |
|
/** |
| 925 |
|
* @group DDC-3108 |