Пример #1
0
 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;
     }
 }
Пример #2
0
 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"));
 }