0

symfony2.1 アプリケーションで循環参照を回避する方法を知りたいです。私は次のようなエンティティを持っています

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

address (
  street
  customer -- ManyToOne )

外部キーのために顧客を削除できないため、フィクスチャがロードされません。

パフォーマンスのために、住所テーブルで選択する顧客に getCurrentAddress() メソッドを追加する必要は避けたいと思います。

誰かがそれに対する解決策を持っていますか?

4

1 に答える 1

1

getCurrentAddress() を追加することは、そのようなパフォーマンスの問題ではありません。

このようにして、循環参照とそれに伴うすべての問題を回避します。

私の状況では、教義の注釈で日付順を使用するだけで十分でした:

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

public function getCurrentAddress()
{
    return $this->addresses[0];
}
于 2012-11-25T13:25:32.183 に答える