3

エンティティ内の指定された列から、PersistentCollection 内のオブジェクトにインデックスを付けるように Symfony2/Doctrine を構成する方法を誰か教えてもらえますか?

たとえば、2 つのテーブルがあるとします。カテゴリと製品。多数の製品を 1 つのカテゴリにまとめます。リポジトリを使用してカテゴリをロードし、呼び出しgetProducts()て製品をロードする場合、製品 ID または指定した列によってインデックス付けされた製品が返されるようにします。現在、それらはゼロから増分的にインデックス付けされています。

とにかくこれを行う方法はありますか、それともループして自分でキーを手動で設定する必要がありますか?

4

1 に答える 1

1

関連付けをマッピングOneToManyすると、プロパティを定義できますindexByアノテーション マッピングを使用すると、次のようになります。

class Category
{
    // ...

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

    // ...
}

XMLYAML、およびPHP マッピングでもこれが可能であり、これはManyToMany.

于 2013-02-12T16:54:13.343 に答える