Example #1
0
 /**
  * Initializes the field group with an object to operate on
  *
  * @see FieldInterface
  */
 public function setData($data)
 {
     parent::setData($data);
     // get transformed data and pass its values to child fields
     $data = $this->getTransformedData();
     if (!empty($data) && !is_array($data) && !is_object($data)) {
         throw new \InvalidArgumentException(sprintf('Expected argument of type object or array, %s given', gettype($data)));
     }
     if (!empty($data)) {
         $iterator = new RecursiveFieldsWithPropertyPathIterator($this);
         $iterator = new \RecursiveIteratorIterator($iterator);
         foreach ($iterator as $field) {
             $field->updateFromObject($data);
         }
     }
 }