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

Dor*_*ron 8 php indexing doctrine annotations doctrine-orm

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

* @Table(name="concerts", indexes={@Index(name="concert_dates", columns={"date_start","date_end"})})
Run Code Online (Sandbox Code Playgroud)

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

* @Table(name="concerts", indexes={@Index(name="concert_date_start", columns={"date_start"}), @Index(name="concert_date_end", columns={"date_end"})})
Run Code Online (Sandbox Code Playgroud)

Jak*_*édl 12

文档说这indexes是一个@Index注释数组.所以我会说是的,这是正确的.


Fah*_*him 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")
 */
Run Code Online (Sandbox Code Playgroud)