getProperty()) !== null) { return; } $storage = new ObjectStorage(ColumnMapper::getColumns($entity)); $from = $column->getFrom(); $separator = $column->getSeparator(); $values = []; foreach ($from as $field) { $col = $storage->findOneByMethod('getProperty', $field); if (!$col instanceof Column) { throw new LogicException(sprintf( 'Cannot set slug: expected column "%s" in entity "%s".', $field, get_class($entity) )); } $values[$field] = EntityAccessor::getValue($entity, $field); } EntityAccessor::setValue($entity, $column->getProperty(), Slugger::slugify($values, $separator)); } }