Let’s say I have this entity:
use AppRepositoryCategoryRepository;
use DoctrineORMMapping as ORM;
/**
 * @ORMEntity(repositoryClass=CategoryRepository::class)
 */
class MyEntity
{
    /**
     * @ORMId
     * @ORMGeneratedValue
     * @ORMColumn(type="integer")
     */
    private ?int $id = null;
    /**
     * @ORMColumn(type="string", length=255)
     */
    private ?string $name = null;
    // getter setters ...
}
My controller:
class MyController extends AbstractController
{
    public function __invoke(EntityManagerInterface $em)
    {
        $myEntity = new MyEntity();
        $myEntity->setName('  awesome name  ');
        $em->persist($myEntity);
        $em->flush();
    }
}
I want doctrine to register the name of myEntity as awesome name and not  awesome name .
Is there a way to configure doctrine to do this?
Advertisement
Answer
You do not need to “configure doctrine” in any way. Just use PHP and introduce the logic in your entity:
class MyEntity {
    // ... rest of the class implementation
    public function setName(?string $name): void {
        $this->name = $name === null ? $name : trim($name);
    }
}
This way your data will be in a consistent state before you persist it in the database.