Example #1
0
 /**
  * Populates the contents of the Object
  * @param array $data
  * @return bool
  */
 public function populate(array $data = array()) : bool
 {
     $valid = $invalid = array();
     if (!empty($data)) {
         $structure = $this->structure();
         $data = $structure->swapForeignKeys($data);
         foreach ($data as $key => $val) {
             if ($this->_process($key, $val)) {
                 $valid[$key] = $val;
             } else {
                 $invalid[$key] = $val;
             }
         }
     }
     $this->_setPopulating(true);
     $ret = parent::populate($valid);
     foreach ($invalid as $key => $val) {
         $this->_set($key, $val, null);
     }
     $this->_setPopulating(false);
     return $ret;
 }