function testDoNotSettingARPrimaryKeyOnAggregatedObjects() { $image = new ImageForAggregateTest(); $image->setExtension($extension = 'jpg'); $photo = new PhotoForTest(); $photo->setImage($image); $photo->save(); $this->assertNotEqual($photo->getImage()->getPhotoId(), $photo->getId()); $photo2 = lmbActiveRecord::findById('PhotoForTest', $photo->getId()); $this->assertEqual($photo2->getImage()->getPhotoId(), $photo2->getId()); $photo2->getImage()->setExtension($other_extension = 'png'); $photo2->getImage()->setPhotoId($other_photo_id = $photo2->getId() + 10); // we try set AR primary key $photo2->save(); $photo3 = lmbActiveRecord::findById('PhotoForTest', $photo2->getId()); $this->assertEqual($photo3->getImage()->getExtension(), $other_extension); $this->assertNotEqual($photo3->getImage()->getPhotoId(), $other_photo_id); // affect setting AR primary key $this->assertEqual($photo3->getImage()->getPhotoId(), $photo3->getId()); // AR primary key not updated }