में पिवट तालिका से गिनती प्राप्त करना मेरे पास ऑर्डर और उत्पादों के लिए कई रिश्ते हैं।लार्वेल eloquent
<?php
class Order extends Eloquent {
public function user()
{
return $this->belongsTo('User');
}
public function products()
{
return $this->belongsToMany('Product');
}
}
?>
<?php
class Product extends Eloquent {
public function orders()
{
return $this->belongsToMany('Order');
}
}
?>
बार प्रत्येक उत्पाद है ordered.In mysql, इस कार्य
SELECT products.id, products.description, count(products.id)
FROM products
INNER JOIN order_product ON products.id = order_product.product_id
INNER JOIN orders ON orders.id = order_product.order_id
GROUP BY product_id
LIMIT 0 , 30
ऊपर क्वेरी के परिणाम निम्न क्वेरी का उपयोग करके प्राप्त किया जा सकता है की संख्या लाने के लिए की आवश्यकता है इस प्रकार है: -
id description count(products.id)
1 Shoes 3
2 Bag 2
3 Sun glasses 2
4 Shirt 2
लार्वेल eloquent (क्वेरी बिल्डर का उपयोग किए बिना) का उपयोग करके यह कार्य कैसे प्राप्त किया जा सकता है ???? मैं लार्वेल eloquent का उपयोग कर प्रत्येक उत्पाद का आदेश कैसे दिया जा सकता है ??
कोड ठीक काम कर रहा है और मुझे वांछित परिणाम मिल रहा है। आपकी मदद के लिए धन्यवाद :) :) लेकिन एक और सवाल। फंक्शन प्राप्त करें ऑर्डर काउंटर एट्रिब्यूट() ऑर्डर का उपयोग करते समय स्वचालित रूप से कॉल किया जाता है() ???? क्या आप समझा सकते हैं ये दो कार्य प्रवाह में कैसे जाते हैं ??? – developer34
संपादन संपादित करें - दस्तावेज़ों के लिए जोड़े गए लिंक, जहां आपको अपनी आवश्यकता हो सकती है। असल में एक्सेसर्स/म्यूटेटर जादू '__get'/'__set' का लाभ उठाते हैं और आपको मॉडल के गुणों में हेरफेर करने देते हैं ताकि वे आपकी ज़रूरतों को पूरा कर सकें। create_at और अन्य टाइमस्टैम्प बहुत समान तरीके से काम करते हैं। –
मैं पूरी तरह से एक्सेसर्स/mutators के बारे में भूल गया। संदर्भ के लिए धन्यवाद !!! :) :) – developer34