setVirtual() public method

public setVirtual ( boolean $virtual )
$virtual boolean
Example #1
0
 public function bootRunTime(Object $object, Configs $configs)
 {
     $field = $this->getFieldDefinition();
     //check for n-to-n relation and create crossTable
     if (AbstractStorage::MANY_TO_MANY == $field->getObjectRelation()) {
         if ($this->defineCrossObject($object, $configs)) {
             $configs->addReboot(sprintf('Added crossObject for field %s', $field->getId()));
         }
     }
     //        //check for n-to-1 and one-to-one objectRelations and create cross object with relations
     //        if (ORMAbstract::MANY_TO_ONE == $field->getObjectRelation() ||
     //            ORMAbstract::ONE_TO_ONE == $field->getObjectRelation()
     //        ) {
     if ($this->defineRelation($object, $configs)) {
         $configs->addReboot(sprintf('Defined relation %s from %s -> %s', $field->getObjectRelation(), $object->getKey() . '.' . $field->getId(), $field->getObject()));
     }
     //        }
     //create virtual reference-field for many-to-one relations
     if ($this->getFieldDefinition()->getObjectRelation() == AbstractStorage::MANY_TO_ONE) {
         if ($object = $configs->getObject($field->getObject())) {
             if (!($refName = $field->getObjectRefRelationName())) {
                 $refName = $field->getObjectDefinition()->getId();
             }
             $refName = lcfirst($refName);
             $virtualField = $object->getField($refName);
             if (!$virtualField) {
                 $virtualField = new Field(null, $object->getJarves());
                 $virtualField->setVirtual(true);
                 $virtualField->setId($refName);
                 $virtualField->setType('object');
                 $virtualField->setLabel('Auto Object Relation (' . $field->getObject() . ')');
                 $virtualField->setObject($field->getObjectDefinition()->getKey());
                 $virtualField->setObjectRelation(AbstractStorage::ONE_TO_MANY);
                 $object->addField($virtualField);
                 $configs->addReboot(sprintf('Added virtualField for field %s', $field->getId()));
             }
         }
     }
 }