Doctrine\Tests\ODM\PHPCR\Functional\ReferenceTest::testCascadeRemoveByCollection PHP Метод

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

    public function testCascadeRemoveByCollection()
    {
        $referrerRefManyTestObj = new ReferenceTestObj();
        $referrerRefManyTestObj->id = "/functional/referenceTestObj";
        $referrerRefManyTestObj->reference = array();
        $max = 5;
        for ($i = 0; $i < $max; $i++) {
            $newReferrerTestObj = new ReferenceRefTestObj();
            $newReferrerTestObj->id = "/functional/referenceRefTestObj{$i}";
            $newReferrerTestObj->name = "referrerTestObj{$i}";
            $referrerRefManyTestObj->reference[] = $newReferrerTestObj;
        }
        $this->dm->persist($referrerRefManyTestObj);
        $this->dm->flush();
        $this->dm->clear();
        $referrered = $this->dm->find(null, "/functional/referenceTestObj");
        $this->assertCount($max, $referrered->reference);
        $referrered->reference->remove(0);
        $referrered->reference->remove(3);
        $this->assertCount($max - 2, $referrered->reference);
        $this->dm->flush();
        $this->dm->clear();
        $referrered = $this->dm->find(null, "/functional/referenceTestObj");
        $this->assertCount($max - 2, $referrered->reference);
    }