Kohana ORM relationships question -
मेरे पास टेबल हैं:
उपयोगकर्ता {id, name} projects {id, name} roles {id , नाम} प्रोजेक्ट_उसेर्स {आईडी, यूज़र_आईड, प्रोजेक्ट_आईड, रोल_आईड}
मेरे पास मॉडल हैं:
प्रोजेक्ट {परियोजनाओं के माध्यम से कई उपयोगकर्ता हैं} उपयोगकर्ता {परियोजनाओं के माध्यम से कई परियोजनाएं हैं}
प्रश्न : एक प्रोजेक्ट के लिए मुझे उपयोगकर्ता भूमिकाएं कैसे मिलती हैं? या हो सकता है कि मुझे मेरी तालिकाओं का पुनर्निर्माण करना पड़े?
कोड:
$ project = ORM :: कारखाना ('प्रोजेक्ट', $ id); $ उपयोगकर्ता = $ प्रोजेक्ट-> प्रयोक्ता-> खोज_पूर्ण (); विदेशी मुद्रा ($ यू के रूप में उपयोगकर्ता $) {$ भूमिकाओं = $ यू-> .... इस उपयोगकर्ता के लिए और इस परियोजना के लिए सभी भूमिकाएं कैसे प्राप्त करें? } प्रोजेक्ट_युजर्स तालिका प्रोजेक्ट्स पर भूमिकाओं का प्रतिनिधित्व करती है, उस मॉडल से जुड़ी एक अन्य मॉडल को जोड़ती है। : >< P> फिर आप ऐसा करने में सक्षम हो सकते हैं:<परियोजना> एक उपयोगकर्ता की एक भूमिका में एक परियोजना है} उपयोगकर्ता {के पास कई परियोजना_ले ...} प्रोजेक्ट {के पास कई परियोजना_लओ ...}
$ user = ORM :: कारखाना ('उपयोगकर्ता') - & gt; ('project_role') के साथ - & gt; जहां ('project_role.project_id ',' = ', $ Id) - & gt; साथ (' project_role: भूमिका ') - & gt; Findall ();
यदि यह काम नहीं करता है, तो निम्न में से एक को काम करना चाहिए, लेकिन आप जो कुछ भी कर रहे हैं उसके लिए ट्रवर्सल का एक अलग रूप हो सकता है।
$ Project = ORM :: कारखाना ('प्रोजेक्ट', $ id); $ 'भूमिकाएं = $ परियोजना- & gt; प्रोजेक्ट_लेबल- & gt; से (' उपयोगकर्ता ') - & gt; साथ (' भूमिका ') - & gt; Findall ();
या
$ भूमिकाएं = ORM :: कारखाना ('project_role') - & gt; जहां ('project_id', '=', $ id) - & gt; ( 'उपयोगकर्ता') के साथ - & gt; ( 'भूमिका') के साथ - & gt; findall ();
Comments
Post a Comment