मैं है निम्नलिखित डेटाबेस तालिकाओंलुमेन: Eloquent का उपयोग कर उप तालिका सूचियों को कैसे प्राप्त करें?
- कस्बों
- सड़कें
- मकान
वे एक दूसरे के साथ कई रिश्तों को एक एक तो Towns
हो सकता है कई Streets
और Streets
कई हो सकता है Houses
पर।
मेरे पास Town
की आईडी है और मैं बस शहर में सभी Houses
की एक सूची प्राप्त करना चाहता हूं। तो फिलहाल मैं कर रहा हूँ।
//This gives me streets and houses in nested arrays
$towns = Town::with(['streets', 'streets.houses' => function($query) {
$query->where('active', 1)
}])->find($town_id);
//But I only want a list of houses so I do
$houses = $towns->streets->map(function($street) {
return $street->houses;
});
यह काम करता है लेकिन क्या ऐसा करने का एक बेहतर तरीका है? मुझे लगता है कि मुझे सिर्फ बोलने वाले घरों की सूची प्राप्त करने में सक्षम होना चाहिए। कुछ मैपिंग करने के बाद बाद में सही प्रतीत नहीं होता है।