|
@@ 663-677 (lines=15) @@
|
| 660 |
|
); |
| 661 |
|
} |
| 662 |
|
|
| 663 |
|
public function testSupportsMemberOfExpressionOneToMany() |
| 664 |
|
{ |
| 665 |
|
// "Get all users who have $phone as a phonenumber." (*cough* doesnt really make sense...) |
| 666 |
|
$q = $this->_em->createQuery('SELECT u.id FROM Doctrine\Tests\Models\CMS\CmsUser u WHERE :param MEMBER OF u.phonenumbers'); |
| 667 |
|
$q->setHint(ORMQuery::HINT_FORCE_PARTIAL_LOAD, true); |
| 668 |
|
|
| 669 |
|
$phone = new CmsPhonenumber(); |
| 670 |
|
$phone->phonenumber = 101; |
| 671 |
|
$q->setParameter('param', $phone); |
| 672 |
|
|
| 673 |
|
$this->assertEquals( |
| 674 |
|
'SELECT c0_.id AS id_0 FROM cms_users c0_ WHERE EXISTS (SELECT 1 FROM cms_phonenumbers c1_ WHERE c0_.id = c1_.user_id AND c1_.phonenumber = ?)', |
| 675 |
|
$q->getSql() |
| 676 |
|
); |
| 677 |
|
} |
| 678 |
|
|
| 679 |
|
public function testSupportsMemberOfExpressionManyToMany() |
| 680 |
|
{ |
|
@@ 679-693 (lines=15) @@
|
| 676 |
|
); |
| 677 |
|
} |
| 678 |
|
|
| 679 |
|
public function testSupportsMemberOfExpressionManyToMany() |
| 680 |
|
{ |
| 681 |
|
// "Get all users who are members of $group." |
| 682 |
|
$q = $this->_em->createQuery('SELECT u.id FROM Doctrine\Tests\Models\CMS\CmsUser u WHERE :param MEMBER OF u.groups'); |
| 683 |
|
$q->setHint(ORMQuery::HINT_FORCE_PARTIAL_LOAD, true); |
| 684 |
|
|
| 685 |
|
$group = new CmsGroup(); |
| 686 |
|
$group->id = 101; |
| 687 |
|
$q->setParameter('param', $group); |
| 688 |
|
|
| 689 |
|
$this->assertEquals( |
| 690 |
|
'SELECT c0_.id AS id_0 FROM cms_users c0_ WHERE EXISTS (SELECT 1 FROM cms_users_groups c1_ INNER JOIN cms_groups c2_ ON c1_.group_id = c2_.id WHERE c1_.user_id = c0_.id AND c2_.id IN (?))', |
| 691 |
|
$q->getSql() |
| 692 |
|
); |
| 693 |
|
} |
| 694 |
|
|
| 695 |
|
public function testSupportsMemberOfExpressionManyToManyParameterArray() |
| 696 |
|
{ |