/** * Loads a list of model by a list of field criteria. * * @param array $criteria * @param array $orderBy * @param integer $limit (optional) * @param integer $offset (optional) * * @return array */ public function loadAll(array $criteria = array(), array $orderBy = null, $limit = null, $offset = null) { $pool = $this->manager->getPool(); $manager_id = $this->class->getManagerIdentifier(); $models = array(); foreach ($this->class->getFieldManagerNames() as $manager) { $models[$manager] = $this->class->getFieldMapping($manager)->getName(); } $data = $pool->getManager($manager_id)->getRepository($models[$manager_id])->findBy($criteria, $orderBy, $limit, $offset); if (empty($data)) { return array(); } $builder = new ModelBuilder($this->manager, $this->uow, $this->class); return $builder->buildAll($data, $manager_id); }
/** * Multiple hydration model. * * @param array $objects * @param array $fields List of fields prime (optional) * * @return array */ public function hydrate(array $objects, array $fields = array()) { return $this->modelBuilder->buildAll($objects, $this->class->getManagerIdentifier(), $fields); }