@@ 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 |