Если вы хотите удалить сущности, включая связанные сущности, которые в конечном итоге связаны внешними ключами, вы можете использовать просто пакетный запрос DQL вместо усечения:
$q = $em->createQuery('delete from AppBundle\Entity\Customer');
$numDeleted = $q->execute();
http://doctrine -orm.readthedocs.org / en / latest / reference / batch-processing.html # dql-delete
Это будет работать только с ассоциациями, если вы правильно настроили каскадные операции и orphanRemoval например:
class Customer
{
/**
* @ORM\OneToOne(targetEntity="Address", cascade={"all"}, orphanRemoval=true)
*/
public $address;
}
Это не прямой ответ относительно команды MySQL TRUNCATE, но, поскольку она реализована в Doctrine, такой подход может решить вашу проблему.