/**
  * {@inheritdoc}
  */
 public function handle(Record $recordToHandle, Record $oppositeRecord)
 {
     $this->validate($recordToHandle);
     $classOldFashion = $recordToHandle->getValue($this->field);
     $classNewStyle = $this->classMap->convertClassName($classOldFashion);
     $class = $classNewStyle ?: $classOldFashion;
     $recordToHandle->setValue($this->field, $class);
 }
示例#2
0
 /**
  * @param array $data
  * @return array
  */
 protected function replaceValues(array $data)
 {
     foreach ($data as &$value) {
         if (is_array($value)) {
             $value = $this->replaceValues($value);
         } elseif (is_string($value)) {
             $value = $this->classMap->convertClassName($value);
         }
     }
     return $data;
 }
 /**
  * @param Record $recordToHandle
  * @param Record $oppositeRecord
  * @return mixed
  */
 public function handle(Record $recordToHandle, Record $oppositeRecord)
 {
     $this->validate($recordToHandle);
     $sourceModel = $recordToHandle->getValue($this->field);
     $oppositeRecordValue = $oppositeRecord->getValue($this->field);
     if (empty($sourceModel) && !empty($oppositeRecordValue)) {
         $recordToHandle->setValue($this->field, $oppositeRecord->getValue($this->field));
     } elseif (empty($sourceModel)) {
         $recordToHandle->setValue($this->field, null);
     } else {
         $recordToHandle->setValue($this->field, $this->classMap->convertClassName($sourceModel));
     }
 }