Doctrine\ODM\MongoDB\Tests\Aggregation\Stage\LookupTest::testLookupStageReferenceMany PHP Method

testLookupStageReferenceMany() public method

    public function testLookupStageReferenceMany()
    {
        $this->requireMongoDB32();
        $this->insertTestData();
        $builder = $this->dm->createAggregationBuilder(\Documents\SimpleReferenceUser::class);
        $builder->unwind('$users')->lookup('users')->alias('users');
        $expectedPipeline = [['$unwind' => '$users'], ['$lookup' => ['from' => 'users', 'localField' => 'users', 'foreignField' => '_id', 'as' => 'users']]];
        $this->assertEquals($expectedPipeline, $builder->getPipeline());
        $result = $builder->execute()->toArray();
        $this->assertCount(2, $result);
        $this->assertCount(1, $result[0]['users']);
        $this->assertSame('alcaeus', $result[0]['users'][0]['username']);
        $this->assertCount(1, $result[1]['users']);
        $this->assertSame('malarzm', $result[1]['users'][0]['username']);
    }