library/SDIS62/Model/Mapper/DbTable/Abstract.php
public function mapData(array $data, $dataFromDb = false)
    {
        // On map les nom des champs entre base et entité
        $map = $dataFromDb ? array_flip($this->getMap()) : $this->getMap();

        foreach($data as $key => $value)
        {
            if(array_key_exists($key, $map))
            {
                $newkey = $map[$key];
                $oldkey = $key;
                
                $data[$newkey] = $data[$oldkey];
                unset($data[$oldkey]);
            }
        }
        
        // On enlève les données non présentes en base et on attribut les données par défaut au tableau
        if(!$dataFromDb)
        {
            $data = array_intersect_key($data, array_flip($this->getDbTable()->info(Zend_Db_Table_Abstract::COLS)));
            
            $cols = $this->getDbTable()->info(Zend_Db_Table_Abstract::METADATA);
            
            foreach($data as $key => $value)
            {
                if($value === null)
                {
                    if(array_key_exists($key, $cols) && $cols[$key]["DEFAULT"] !== null)
                    {
                        switch($cols[$key]["DEFAULT"])
                        {
                            case "CURRENT_TIMESTAMP":
                                $data[$key] = new Zend_Db_Expr('CURRENT_TIMESTAMP');
                                break;
                                
                            default:
                                $data[$key] = $cols[$key]["DEFAULT"];
                        }
                    }
                }
            }
        }
        
        return $data;
    }
public function mapData(array $data, $dataFromDb = false)
    {
        // On map les nom des champs entre base et entité
        $map = $dataFromDb ? array_flip($this->getMap()) : $this->getMap();

        foreach($data as $key => $value)
        {
            if(array_key_exists($key, $map))
            {
                $newkey = $map[$key];
                $oldkey = $key;
                
                $data[$newkey] = $data[$oldkey];
                unset($data[$oldkey]);
            }
        }
        
        // On enlève les données non présentes en base et on attribut les données par défaut au tableau
        if(!$dataFromDb)
        {
            $data = array_intersect_key($data, array_flip($this->getDbTable()->info(Zend_Db_Table_Abstract::COLS)));
            
            $cols = $this->getDbTable()->info(Zend_Db_Table_Abstract::METADATA);
            
            foreach($data as $key => $value)
            {
                if($value === null)
                {
                    if(array_key_exists($key, $cols) && $cols[$key]["DEFAULT"] !== null)
                    {
                        switch($cols[$key]["DEFAULT"])
                        {
                            case "CURRENT_TIMESTAMP":
                                $data[$key] = new Zend_Db_Expr('CURRENT_TIMESTAMP');
                                break;
                                
                            default:
                                $data[$key] = $cols[$key]["DEFAULT"];
                        }
                    }
                }
            }
        }
        
        return $data;
    }
public function mapData ( array $ data , $ dataFromDb = false ) { // On map les nom des champs entre base et entité $ map = $ dataFromDb ? array_flip ( $ this -> getMap ( ) ) : $ this -> getMap ( ) ; foreach ( $ data as $ key => $ value ) { if ( array_key_exists ( $ key , $ map ) ) { $ newkey = $ map [ $ key ] ; $ oldkey = $ key ; $ data [ $ newkey ] = $ data [ $ oldkey ] ; unset ( $ data [ $ oldkey ] ) ; } } // On enlève les données non présentes en base et on attribut les données par défaut au tableau if ( ! $ dataFromDb ) { $ data = array_intersect_key ( $ data , array_flip ( $ this -> getDbTable ( ) -> info ( Zend_Db_Table_Abstract :: COLS ) ) ) ; $ cols = $ this -> getDbTable ( ) -> info ( Zend_Db_Table_Abstract :: METADATA ) ; foreach ( $ data as $ key => $ value ) { if ( $ value === null ) { if ( array_key_exists ( $ key , $ cols ) && $ cols [ $ key ] [ "DEFAULT" ] !== null ) { switch ( $ cols [ $ key ] [ "DEFAULT" ] ) { case "CURRENT_TIMESTAMP" : $ data [ $ key ] = new Zend_Db_Expr ( 'CURRENT_TIMESTAMP' ) ; break ; default : $ data [ $ key ] = $ cols [ $ key ] [ "DEFAULT" ] ; } } } } } return $ data ; }
Récupération du tableau de mappage des données
Si la tableau de mappage est vide, on retourne un tableau vide

@param array $data Tableau des données à préparer
@param boolean $dataFromDb Optionnel, Booléen : Si les données à préparer viennent de la base de données (et pas de l'entité)
Récupération du tableau de mappage des données Si la tableau de mappage est vide on retourne un tableau vide