【问题标题】:Symfony2.1 Circular referencesSymfony2.1 循环引用
【发布时间】:2012-11-25 12:40:47
【问题描述】:

我想知道如何避免在我的 symfony2.1 应用程序中出现循环引用。 我有一个像

这样的实体
customer (
  name
  addresses -- OneToMany
  currentAddress -- OneToOne )

address (
  street
  customer -- ManyToOne )

现在我的装置将无法加载,因为它无法删除客户,因为外键。

为了表现,我想避免必须在客户上添加一个 getCurrentAddress() 方法,该方法将在地址表中进行选择。

有人有解决办法吗?

【问题讨论】:

    标签: symfony doctrine circular-reference


    【解决方案1】:

    添加 getCurrentAddress() 并不是性能问题。

    这样,我将避免循环引用以及随之而来的所有问题。

    在我的情况下,在教义注释中使用按日期排序就足够了:

    // on customer entity : 
    /** @ORM\OrderBy({"datemodified" = "DESC"}) */
    private $addresses
    
    public function getCurrentAddress()
    {
        return $this->addresses[0];
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多