С Doctrine 2 это то, что вам нужно сделать:
class Foo {
...
/**
* @OneToOne(targetEntity="Bar")
* @JoinColumn(name="bar_id", referencedColumnName="id", onDelete="CASCADE")
*/
private $bar;
...
}
class Bar {
...
}
onDelete = "Cascade" будет делать то, что CappY сказал в своем ответе (установите свой внешний ключ на удаление каскада). Таким образом, при удалении вашей сущности Bar также будет удалена и связанная с ней сущность Foo.
Если вы предпочитаете не удалять свою сущность Foo, вы можете просто заменить onDelete = "Cascade" на onDelete = "SET NULL".