Exemplo n.º 1
0
 public function __construct($table, Adapter $db, $strategies = array())
 {
     $hydrator = new ArraySerializable();
     foreach ($strategies as $field => $strategy) {
         $hydrator->addStrategy($field, $strategy);
     }
     $resultSet = new HydratingResultSet();
     $resultSet->setHydrator($hydrator);
     parent::__construct($table, $db, null, $resultSet);
 }
Exemplo n.º 2
0
 protected function buildHydrator()
 {
     // Inicialização
     $hydrator = new Hydrator\ArraySerializable();
     $datetime = new Datetime();
     // Internacionalização
     $serviceLocator = new ServiceManager();
     $datetime->setServiceLocator($serviceLocator);
     // Adicionar Estratégia de Filtro
     $hydrator->addStrategy('datetime', $datetime);
     // Apresentação
     return $hydrator;
 }
 /**
  * Get a hydrator to bind CustomField objects to the database
  *
  * Unlike other tables, the hydrator cannot be provided by the CustomFields
  * table class due to tricky dependencies. Use this method to get a suitable
  * hydrator.
  *
  * @return \Zend\Stdlib\Hydrator\ArraySerializable
  */
 public function getHydrator()
 {
     if (!$this->_hydrator) {
         $columns = $this->getColumnMap();
         $this->_hydrator = new \Zend\Stdlib\Hydrator\ArraySerializable();
         $this->_hydrator->setNamingStrategy(new \Database\Hydrator\NamingStrategy\MapNamingStrategy(array_flip($columns)));
         $dateStrategy = new \Zend\Stdlib\Hydrator\Strategy\DateTimeFormatterStrategy('Y-m-d');
         foreach ($this->getFields() as $name => $type) {
             if ($type == 'date') {
                 $this->_hydrator->addStrategy($name, $dateStrategy);
                 $this->_hydrator->addStrategy($columns[$name], $dateStrategy);
             }
         }
     }
     return $this->_hydrator;
 }