Neos\Flow\Tests\Functional\Persistence\Doctrine\QueryTest::distinctQueryOnlyReturnsDistinctEntities PHP Метод

distinctQueryOnlyReturnsDistinctEntities() публичный Метод

    public function distinctQueryOnlyReturnsDistinctEntities()
    {
        $testEntityRepository = new Fixtures\TestEntityRepository();
        $testEntityRepository->removeAll();
        $testEntity = new Fixtures\TestEntity();
        $testEntity->setName('Flow');
        $subEntity1 = new Fixtures\SubEntity();
        $subEntity1->setContent('value');
        $subEntity1->setParentEntity($testEntity);
        $testEntity->addSubEntity($subEntity1);
        $this->persistenceManager->add($subEntity1);
        $subEntity2 = new Fixtures\SubEntity();
        $subEntity2->setContent('value');
        $subEntity2->setParentEntity($testEntity);
        $testEntity->addSubEntity($subEntity2);
        $this->persistenceManager->add($subEntity2);
        $testEntityRepository->add($testEntity);
        $testEntity2 = new Fixtures\TestEntity();
        $testEntity2->setName('Flow');
        $subEntity3 = new Fixtures\SubEntity();
        $subEntity3->setContent('value');
        $subEntity3->setParentEntity($testEntity2);
        $testEntity2->addSubEntity($subEntity3);
        $this->persistenceManager->add($subEntity3);
        $testEntityRepository->add($testEntity2);
        $this->persistenceManager->persistAll();
        $query = new Query(Fixtures\TestEntity::class);
        $entities = $query->matching($query->equals('subEntities.content', 'value'))->setDistinct()->setLimit(2)->execute()->toArray();
        $this->assertEquals(2, count($entities));
    }