/** * Loads an multi-model by a list of field criteria. * * @param mixed $criteria * * @return null|object The loaded and managed model instance or NULL if the multi-model can not be found */ public function load($criteria) { $pool = $this->manager->getPool(); $manager_id = $this->class->getManagerIdentifier(); if (!is_array($criteria)) { $criteria = array($this->class->getFieldIdentifier() => $criteria); } $model = $pool->getManager($manager_id)->getRepository($this->class->getFieldMapping($manager_id)->getName())->findOneBy($criteria); if (null === $model) { return null; } $builder = new ModelBuilder($this->manager, $this->uow, $this->class); return $builder->build($model, $manager_id); }
/** * @depends testFieldMappings * @param ClassMetadata $class */ public function testIdentifier($class) { $this->assertEquals('id', $class->getFieldIdentifier()); $this->assertEquals('document', $class->getManagerIdentifier()); return $class; }