2011-03-18 7 views
8

मेरे पास दो कॉलम हैं जो प्रारंभ तिथि और समाप्ति तिथि का प्रतिनिधित्व करते हैं। अगर मैं उनके लिए एक संयुक्त सूचकांक बनाना चाहता था, मुझे क्या करना होगा:मैं एक सिद्धांत 2 इकाई फ़ाइल (एनोटेशन का उपयोग करके) में किसी तालिका के लिए एक से अधिक अनुक्रमणिका कैसे सेट करूं?

* @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"})}) 

उत्तर

11

Documentation का कहना है कि indexes@Index एनोटेशन की एक सरणी है। तो मैं हाँ कहूंगा, यह सही है।

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") 
*/