使用Symfony2为Doctrine的PersistentCollection指定索引

时间:2013-02-12 09:53:00

标签: symfony doctrine

有人可以告诉我如何配置Symfony2 / Doctrine来从实体中的指定列索引PersistentCollection中的对象吗?

例如假设我们有两个表;类别和产品,许多产品属于一个类别。当我使用存储库加载类别,然后调用getProducts()来加载产品时,我希望它们返回由产品ID或我指定的任何列索引。目前,他们只是从零开始逐步编入索引。

无论如何都要这样做,或者我是否需要循环并亲自手动设置密钥?

1 个答案:

答案 0 :(得分:1)

映射OneToMany关联允许您定义indexBy属性。使用annotation mappings,它看起来像是

class Category
{
    // ...

    /**
     * @OneToMany(targetEntity="Products", indexBy="productId", mappedBy="product")
     */
    protected $products;

    // ...
}

XMLYAMLPHP mappings也允许这样做,这也适用于ManyToMany