/** * {@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); }
/** * @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)); } }