में आंशिक क्वेरी और समग्र कुंजी का उपयोग करते समय" कोई मैप किए गए फ़ील्ड "में मेरे पास दो मॉडल हैं जिन्हें Person
और Tag
कहा जाता है। एक व्यक्ति के पास कई टैग होते हैं, और टैग प्राथमिक कुंजी person_id
और tag
(Person $person
और $tag
में डॉक्टरेट 2 में एक समग्र कुंजी है)।"मैपडिन 2
Tag
मॉडल में बहुत से डेटा के साथ एक डेटा फ़ील्ड (BLOB
) है। मैं एक क्वेरी स्थापित कर रहा हूं जिसके लिए उस फ़ील्ड के डेटा की आवश्यकता नहीं है, इसलिए मैं एक क्वेरी सेट अप करना चाहता हूं जो उस फ़ील्ड को पुनर्प्राप्त नहीं करता है।
मैं निम्न क्वेरी के साथ करने की कोशिश की:
SELECT c, PARTIAL t.{tag} FROM Contact c LEFT JOIN c.tags
यहाँ, मैं कुछ हद तक उम्मीद त्रुटि वर्ग टैग का आंशिक क्षेत्र चयन पहचानकर्ता शामिल होना चाहिए मिलता है। कोई बात नहीं, मैं संपर्क क्षेत्र जोड़ें:
SELECT c, PARTIAL t.{contact,tag} FROM Contact c LEFT JOIN c.tags
लेकिन अब, मैं मिल कक्षा टैग पर 'सम्पर्क' नाम का कोई मैप किया हुआ क्षेत्र है।
क्या Doctrine2 समग्र कुंजी पर आंशिक प्रश्नों का समर्थन नहीं करता है?
यहाँ टैग वर्ग है:
/** @Entity @Table(name="tag") **/
class Tag
{
/** @Id @ManyToOne(targetEntity="Contact",inversedBy="tags") @var Contact **/
protected $contact;
/** @Id @Column(type="string",length=10,nullable=false) @var string **/
protected $tag;
/** @Column(type="blob") **/
protected $data;
}
आप इस बारे में कोई और अधिक जानकारी प्राप्त की थी प्रकट नहीं होता है त्रुटि @Nils? – jah
@jah, दुर्भाग्य से नहीं। मुझे टैग मॉडल को दो वस्तुओं में विभाजित करना था ताकि विशाल डेटा हिस्से को रास्ते से बाहर निकाला जा सके। इस तरह, जब भी मुझे डेटा की आवश्यकता होती है तो मैं टैगडाटा ऑब्जेक्ट्स का चयन कर सकता हूं। एक बहुत ही सुरुचिपूर्ण समाधान, लेकिन समझने और दस्तावेज में आसान है। – Nils