मुझे Symfony2 में इकाई विरासत का उपयोग करने में समस्या हो रही है। यहाँ मेरी दो वर्ग हैं:Symfony2: किसी क्षेत्र में इकाई पर कॉलम 'आईडी' की डुप्लिकेट परिभाषा या भेदभाव कॉलम मैपिंग
use Doctrine\ORM\Mapping as ORM;
/**
* @Orm\MappedSuperclass
*/
class Object
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
}
/**
* @Orm\MappedSuperclass
*/
class Book extends Object
{
}
जब मैं php एप्लिकेशन/कंसोल सिद्धांत चलाएँ: स्कीमा: बनाने मैं निम्नलिखित त्रुटि मिलती है:
[Doctrine\ORM\Mapping\MappingException]
Duplicate definition of column 'id' on entity 'Name\SiteBundle\Entity\Book' in a field or discriminator column mapping.
यह क्या कारण हो सकता है?
धन्यवाद :)
अद्यतन:
आप सही मैं इस याद कर रहे हैं। अब मैं दोनों वर्गों के साथ एकल तालिका विरासत का उपयोग कर रहा हूं:
/**
* @Entity
* @InheritanceType("SINGLE_TABLE")
* @DiscriminatorColumn(name="discr", type="string")
* @DiscriminatorMap({"object" = "Object", "book" = "Book"})
*/
लेकिन मुझे अभी भी एक ही त्रुटि संदेश मिलता है।
आप एकाधिक वंशानुक्रम कोशिश कर रहे हैं अवांछनीय मैपिंग अक्षम करना चाहिए? यदि नहीं, तो मैं आपको [मैपडसुपर क्लास के बारे में प्रलेखन] (http://docs.doctrine-project.org/en/2.0.x/reference/inheritance-mapping.html#mapped-superclasses) विशेष रूप से पीले रंग के बॉक्स को पढ़ने के लिए आमंत्रित करता हूं। "मैप्डसुपरक्लास एक इकाई नहीं हो सकता" –