Symfony2.1 Циклические ссылки

Мне интересно, как избежать циклической ссылки в моем приложении symfony2.1. У меня есть сущность вроде

customer (
  name
  addresses -- OneToMany
  currentAddress -- OneToOne )

и

address (
  street
  customer -- ManyToOne )

Теперь мои приборы не будут загружаться, потому что они не могут удалить клиента из-за внешнего ключа.

Ради производительности я хотел бы избежать добавления метода getCurrentAddress() для клиента, который будет выбирать в таблице адресов.

У кого-нибудь есть решение для этого?


person Thomas    schedule 25.11.2012    source источник


Ответы (1)


Добавление getCurrentAddress() не является проблемой производительности.

Таким образом, я избегаю циклической ссылки и всех связанных с ней проблем.

В моей ситуации было достаточно использовать порядок по дате в аннотации доктрины:

// on customer entity : 
/** @ORM\OrderBy({"datemodified" = "DESC"}) */
private $addresses

public function getCurrentAddress()
{
    return $this->addresses[0];
}
person Thomas    schedule 25.11.2012