Esempio n. 1
0
 public function testSetBelongsToFieldCreatesIndex()
 {
     $fieldName = 'field';
     $table = new ModelTable('table');
     $field = new BelongsToField($fieldName, 'type');
     $table->setField($field);
     $this->assertTrue($table->hasIndex($fieldName));
 }
Esempio n. 2
0
 /**
  * Sets the submitted field to the model table
  * @param zibo\library\orm\definition\ModelTable $modelTable
  * @param zibo\library\orm\definition\field\ModelField $field
  * @return null
  */
 private function setFieldToModelTable(ModelTable $modelTable, ModelField $field)
 {
     $modelTable->setField($field);
     $fieldName = $field->getName();
     $currentFieldName = $this->wizard->getVariable(BuilderWizard::VARIABLE_FIELD);
     if (!$currentFieldName || $fieldName == $currentFieldName) {
         $this->wizard->setVariable(BuilderWizard::VARIABLE_MODEL_TABLE, $modelTable);
         return;
     }
     $order = array();
     $fields = $modelTable->getFields();
     foreach ($fields as $modelFieldName => $modelField) {
         if ($modelFieldName == $fieldName) {
             continue;
         }
         if ($modelFieldName == $currentFieldName) {
             $modelFieldName = $fieldName;
         }
         $order[] = $modelFieldName;
     }
     $modelTable->orderFields($order);
     $modelTable->removeField($currentFieldName);
     $this->wizard->setVariable(BuilderWizard::VARIABLE_MODEL_TABLE, $modelTable);
 }