मैं Doctrine2 में निम्न पदानुक्रम करना चाहते हैं:सिद्धांत 2 में कक्षाओं के बीच एकाधिक सीटीआई (कक्षा तालिका विरासत)?
- Message
- SMS
- SentSMS
- ScheduledSMS
- FailedSMS
- Newsletter
- SystemComunication
लेकिन जब मैं Symfony 2 में संस्थाओं जनरेट करने का प्रयास मैं निम्न त्रुटि हो:
[Doctrine\ORM\Mappin\MappingException]
Entity 'Acme\HelloBundle\Entity\FailedSMS' has a composite identifier but uses an ID generator other than manually assigning (Identity, Sequence). This is not supported.
मुझे लगता है कि क्योंकि id
की है FailedSMS
(Message
से विरासत में मिला) यह इस तथ्य के साथ संघर्ष में है कि FailedSMS
स्वयं को सीटीआई (SMS
के साथ) काम करने के लिए id
असाइन किया जाना चाहिए।
मैं चंद्रमा के लिए पूछ रहा हूं या इसे काम करने का कोई तरीका है? पदानुक्रम के एक छोटी सी अवलोकन:
/**
* @ORM\Entity
* @ORM\Table(name="message")
* @ORM\InheritanceType("JOINED")
* @ORM\DiscriminatorColumn(name="type", type="string")
* @ORM\DiscriminatorMap({"newsletter" = "Newsletter", "sms" = "SMS"})
*/
class Message {}
/**
* @ORM\Entity
* @ORM\Table(name="newsletter")
*/
class Newsletter extends Message {}
/**
* @ORM\Entity
* @ORM\Table(name="sms")
* @ORM\InheritanceType("JOINED")
* @ORM\DiscriminatorColumn(name="status", type="string")
* @ORM\DiscriminatorMap({"sent"="SentSMS", "scheduled"="ScheduledSMS",
* "failed"="FailedSMS"
* })
*/
class SMS extends Message {}
/**
* @ORM\Entity
* @ORM\Table(name="failed_sms")
*/
class FailedSMS extends SMS {}
धन्यवाद। मैप किए गए सुपरक्लास ठीक लगते हैं क्योंकि मुझे वास्तव में संदेश इकाई की आवश्यकता या उपयोग करने की आवश्यकता नहीं है। मैं इसका परीक्षण करने जा रहा हूँ। – gremo