/** * Create a FieldCollection based on the current module and fill the field values with $data entries * * @param array $data * * @return FieldCollection */ protected function prepareFieldCollection(array $data = array()) { $fieldCollection = new FieldCollection(); foreach ($this->module->fields as $mField) { $field = FieldFactory::make($mField); $field->setValue($data[$mField->column_name] ?: null); $fieldCollection->add($field); } return $fieldCollection; }
/** * Creates a FieldCollection based the current Module instance * * @return FieldCollection */ public function getFieldCollection() { if ($this->fieldCollection instanceof FieldCollection) { return $this->fieldCollection; } $collection = new FieldCollection(); foreach ($this->fields as $field) { $className = studly_case($field->type); $fullClass = sprintf('Orangehill\\Photon\\Library\\Form\\Fields\\%s\\%s', $className, $className); $rField = new $fullClass($field); $collection->add($rField, $field->column_name); } $this->fieldCollection = $collection; return $collection; }