मुझे Grails में प्रक्षेपण के साथ कुछ समस्याएं हैं। क्या आप कृपया मेरी समीक्षा करने में मदद कर सकते हैं और मेरे लिए समाधान सुझा सकते हैं?Grails: कई तालिकाओं पर प्रक्षेपण?
मैं जो कई-से-एक संबंध और उन दोनों के बारे में कुछ गुणों पर प्रक्षेपण है कई टेबल पर डेटा क्वेरी करना चाहते हैं। उदाहरण के लिए:
class Person { int id String name String address static hasMany = [cars : Car] } class Car { int id String brand long price Person owner static belongsTo = [owner : Person] }
तो, मैं तो बस एक क्वेरी withCriteria (लागू प्रक्षेपण) एक निर्दिष्ट कार (ब्रांड, मूल्य, और मालिक का नाम शामिल हैं) के बारे में जानकारी प्राप्त करने के लिए उपयोग कर सकते हैं?
Car.withCriteria { projections { property("brand") property("price") property("owner.name") } eq("id", carId) }
मैं एक प्रक्षेपण का उपयोग कर सकते उसकी सभी कारों के नाम के साथ एक निर्दिष्ट व्यक्ति की जानकारी पाने के लिए: इसका इस्तेमाल करना संभव है? उदाहरण के लिए: [01, पटर, 01 स्ट्रीट ए, [मर्सिडीज, टोयोटा, डुकाट्टी]]?
एक विशेष स्थिति: (ऊपर व्यक्ति वर्ग के साथ)
एक व्यक्ति को कई संगठन शामिल हो सकते हैं, और एक संगठन एक "जनक" संगठन हो सकता है (और इसके विपरीत, एक संगठन कई अन्य निर्भर संगठनों हो सकते हैं)। लेकिन एक नियम है: एक व्यक्ति सिर्फ किसी दिए गए संगठन के केवल एक बच्चे संगठन में शामिल हो सकता है। तो किसी दिए गए संगठन ओ और एक व्यक्ति पी के साथ, ओ के प्रतिनिधि संगठन के नाम के साथ पी की जानकारी प्राप्त करने का सबसे तेज़ तरीका क्या है जिसमें पी सदस्य है। मैं Grails प्रक्षेपण का उपयोग करना पसंद करते हैं।class Person { int id String name String address static hasMany = [joinedOrgs : Organization] } class Organization { int id String name Organization parentOrg static hasMany = [members : Person, childOrgs : Organization] }
मैं Grails के साथ एक नौसिखिया हूँ, और मैं GORM और अधिक समझने के लिए करना चाहते हैं:
यहाँ डेटा मॉडल है। आपकी मदद के लिए बहुत बहुत धन्यवाद।
क्यों 'alias' जरूरत थी प्रयास करें पोस्ट पर प्रकाश डाला समझाया गया है जो खोज रहे हैं? –
@AlexanderSuraphel उपनाम के बिना आप सीधे 'संपत्ति ('owner.name', 'owner.name')' में 'owner.name' तक नहीं पहुंच सकते हैं, यहां तक कि आप उपनाम के बिना परिणाम प्राप्त कर सकते हैं लेकिन आपको इसके लिए और कोड लिखना होगा । 'उदाहरण नीचे अनुमानों देखें { मालिक { संपत्ति ('नाम', 'नाम') } संपत्ति ('ब्रांड', 'ब्रांड') संपत्ति ('मूल्य', 'कीमत') }' कृपया अगर आपको अभी भी कोई भ्रम है, तो मुझे बताएं, या यह आपके लिए सही जवाब नहीं था। धन्यवाद –
@AlexanderSuraphel यदि आप 'createAlias (' owner ',' owner ') के बिना उपरोक्त कोड लिख सकते हैं, तो यह संभव है कि यह संभव है कि grails –