如何为doctrine 2实体文件中的表设置多个索引(使用注释)?

时间:2011-03-18 08:43:57

标签: php doctrine annotations indexing doctrine-orm

我有两列代表开始日期和结束日期。 如果我想为它们创建一个联合索引,我会这样做:

* @Table(name="concerts", indexes={@Index(name="concert_dates", columns={"date_start","date_end"})})

但我如何为每个人做一个索引? 以下方式是否正确?

* @Table(name="concerts", indexes={@Index(name="concert_date_start", columns={"date_start"}), @Index(name="concert_date_end", columns={"date_end"})})

2 个答案:

答案 0 :(得分:12)

Documentationindexes是一个@Index注释数组。所以我会说是的,这是正确的。

答案 1 :(得分:10)

是的,它适用于我。我这样做了:

/**
 * Class ProductDisplayArea
 * @ORM\Entity
 * @ORM\Table(name="product_display_area", indexes={
 *      @Index(name="product_display_area_product_id", columns={"product_id"}),
 *      @Index(name="product_display_area_productCat_id", columns={"productCat_id"}),
 *      @Index(name="product_display_area_productSCat_id", columns={"productSCat_id"}),
 *      @Index(name="product_display_area_productSSCat_id", columns={"productSSCat_id"})
 * })
 * @ORM\HasLifecycleCallbacks()
 * @ORM\Entity(repositoryClass="Admin\AdminBundle\Entity\ProductDisplayAreaRepository")
 */