function create($aData) { if (!isset($aData['FLD_UID'])) { $aData['FLD_UID'] = G::generateUniqueID(); } else { if ($aData['FLD_UID'] == '') { $aData['FLD_UID'] = G::generateUniqueID(); } } $oConnection = Propel::getConnection(FieldsPeer::DATABASE_NAME); try { $oFields = new Fields(); $oFields->fromArray($aData, BasePeer::TYPE_FIELDNAME); if ($oFields->validate()) { $oConnection->begin(); $iResult = $oFields->save(); $oConnection->commit(); return $aData['FLD_UID']; } else { $sMessage = ''; $aValidationFailures = $oFields->getValidationFailures(); foreach ($aValidationFailures as $oValidationFailure) { $sMessage .= $oValidationFailure->getMessage() . '<br />'; } throw new Exception('The registry cannot be created!<br />' . $sMessage); } } catch (Exception $oError) { $oConnection->rollback(); throw $oError; } }
public function testFromArrayMultipleNestedFields() { $fields = Fields::fromArray(["foo" => ["bar" => 1], "baz" => ["qux" => true]]); $this->assertCount(2, $fields); $this->assertTrue($fields->field("foo")); $this->assertFalse($fields->field("bar")); $this->assertTrue($fields->field("baz")); $this->assertFalse($fields->field("qux")); $this->assertCount(1, $fields->fields("foo")); $this->assertTrue($fields->fields("foo")->field("bar")); $this->assertCount(0, $fields->fields("foo")->fields("bar")); $this->assertCount(1, $fields->fields("baz")); $this->assertTrue($fields->fields("baz")->field("qux")); $this->assertCount(0, $fields->fields("baz")->fields("qux")); }