Laravel 4 - Database design -
मेरे पास निम्न आवश्यकताएं हैं:
- एक
उपयोगकर्ता संग्रह में प्रकार (शायद मॉडल)
- संग्रह में एक
पुस्तक जोड़ें
- उल>
इस प्रकार, मेरे पास अभी तक के मॉडल हैं:
उपयोगकर्ता और
पुस्तक
मैं बहुत से रिश्तों का उपयोग करना चाहता हूं आसान तरीका, उदा।
$ इच्छा सूची = $ उपयोगकर्ता- & gt; संग्रह () - & gt; इच्छा सूची; $ वॉचलिस्ट = $ उपयोगकर्ता- & gt; संग्रह () - & gt; वॉचलिस्ट;
ये दो चर तब तक पुस्तकों का संग्रह होनी चाहिए।
मैं भी विभिन्न संग्रहों को उस तरह से एक्सेस करना चाहूंगा, जिस तरह से मैं कैसे गिन सकता हूँ कई बार एक निश्चित पुस्तक किसी भी उपयोगकर्ता की इच्छा सूची का हिस्सा है। उदा।$ book = book :: find (1); $ Wishlist_count = $ book- & gt; संग्रह () - & gt; इच्छासूची- & gt; गिनती ();
मैं इन रिश्तों के मॉडलिंग के बारे में कैसे जा सकता हूं?< P> प्रत्येक प्रकार के लिए सेटअप पिवट तालिका:// आप रिश्तों को बहुत आसानी से कॉल कर सकते हैं: $ user- & gt; booksWishlist; // पुस्तक मॉडल का संग्रह $ book- & gt; प्रयोक्तावचलिस्ट- & gt; गिनती (); // उपयोगकर्ता मॉडल के संग्रह पर भरोसा / / या वैकल्पिक रूप से $ book- & gt; उपयोगकर्तावचलिस्ट () - & gt; गिनती (); // एसक्यूएल पर संबंधित प्रश्नों पर गिनती () प्राप्त करें: // तालिकाओं: पुस्तक_यूसर_विश्लेलिस्ट: यूज़र_आईडी, बुक_आईडी, .. (आईडी, टाइमस्टैम्प और जो भी आपको जरुरत है) book_user_watchlist: user_id, book_id, .. (आईडी, टाइमस्टैम्प और जो भी आपको चाहिए) // और इतने पर .. // --- संबंध --- // उपयोगकर्ता मॉडल सार्वजनिक फ़ंक्शंस पुस्तकें वॉचलिस्ट () {वापसी $ इस- & gt; संबद्धता मान ('पुस्तक', 'पुस्तक_उज़र_वाचलिस्ट'); } सार्वजनिक फ़ंक्शन की पुस्तकों की सूची () {वापसी $ this- & gt; संबंधित टोमनी ('पुस्तक', 'book_user_wishlist'); } // पुस्तक मॉडल सार्वजनिक फ़ंक्शन यूजर्स वॉचलिस्ट () {वापसी $ इस- & gt; संबद्धता मान ('उपयोगकर्ता', 'बुक_युजर_वाचलिस्ट'); } सार्वजनिक फ़ंक्शन उपयोगकर्ता विशलिस्ट () {वापसी $ this- & gt; संबद्धता मान ('उपयोगकर्ता', 'book_user_wishlist'); }
यदि आपको ..list मॉडलों पर और भी अधिक शक्ति की आवश्यकता है तो आप उपयोगकर्ता और पुस्तक मॉडल पर नईपिवोट () पद्धति को ओवरराइड करने वाली प्रत्येक सूची के लिए कस्टम धुएं मॉडल सेटअप कर सकते हैं।
- संग्रह में एक
Comments
Post a Comment