2012-05-24 19 views
5

में EntityNotFoundException सिद्धांत 2 में प्रॉक्सी क्लास गुणों को एक्सेस करते समय EntityNotFoundException के संभावित कारण क्या हैं? वैसे भी, के बाद मेरे संस्थाओं की संरचना होती है:सिद्धांत 2 प्रॉक्सी कक्षा

/** 
* @ORM\Table(name="member_comments") 
*/ 
class MemberComment extends Comment 
{ 
    /** 
    * owning side 
    * 
    * @var Member $author 
    * 
    * @ORM\ManyToOne(targetEntity="Member") 
    * @ORM\JoinColumn(name="author_id", referencedColumnName="id", nullable=false) 
    */ 
    private $author; 

    /** 
    * Set author 
    * 
    * @param Member $author 
    */ 
    public function setAuthor($author) 
    { 
     $this->author = $author; 
    } 

    /** 
    * Get author 
    * 
    * @return Member 
    */ 
    public function getAuthor() 
    { 
     return $this->author; 
    } 
} 


/** 
* @ORM\Table(name="visitor_comments") 
*/ 
class VisitorComment extends Comment 
{ 
    /** 
    * owning side 
    * 
    * @var Visitor $author 
    * 
    * @ORM\ManyToOne(targetEntity="Visitor") 
    * @ORM\JoinColumn(name="author_id", referencedColumnName="id", nullable=false) 
    */ 
    private $author; 

    /** 
    * Set author 
    * 
    * @param string $author 
    */ 
    public function setAuthor($author) 
    { 
     $this->author = $author; 
    } 

    /** 
    * Get author 
    * 
    * @return Visitor 
    */ 
    public function getAuthor() 
    { 
     return $this->author; 
    } 
} 

अपवाद तब होता है जब मैं $ comment-> getAuthor() फोन -> getFirstName() < संभालने:

/** 
* @ORM\Table(name="comments") 
* 
* @ORM\InheritanceType("JOINED") 
* @ORM\DiscriminatorColumn(name="comment_type", type="smallint") 
* @ORM\DiscriminatorMap({ 
* 1 = "VisitorComment", 
* 2 = "MemberComment" 
* }) 
*/ 
class Comment 
{ 
    //with common properties of its subclasses 
} 

उपवर्गों इस प्रकार हैं वह लेखक जो या तो सदस्य या विज़िटर इकाई है, पहले नाम संपत्ति> है। इस मामले में GetAuthor() या तो VisitorProxy या MemberProxy का प्रॉक्सी क्लास देता है।

कृपया मेरी मदद करें। मैं अभी भी सिद्धांत के लिए नया हूँ।

+3

यह मेरी गलती थी। चूंकि मैं अभी भी डेटाबेस में अपना डेटा मैन्युअल रूप से जोड़ता हूं, इसलिए मैंने आगंतुक के रूप में विज़िटर टिप्पणी के लिए सदस्य टिप्पणी और सदस्य को गलती से बदल दिया। – Floricel

उत्तर

2

फ्लोरिसेल के रूप में पता चला है, यह एक कॉलम में एक अवैध विदेशी कुंजी के कारण हो सकता है जो प्रॉक्सी क्लास संदर्भ तालिका में इंगित करता है।

0

@ डेव लांसा सही है कि मैंने एक एफके को नल में बदल दिया है और फिर यह त्रुटि प्राप्त करना शुरू कर दिया है, मैन्युअल रूप से एक टूटा हुआ रिकॉर्ड अपडेट किया है, जिससे यह एक मौजूदा इकाई को इंगित करता है और समस्या चली गई है।