मैं काफी यकीन है कि अगर यह सही दृष्टिकोण है नहीं कर रहा हूँ, यह मेरी स्थिति है आईडी लेकिन मैं प्रत्येक गैलरी से एक यादृच्छिक तस्वीर भी चुनना चाहता हूं, हालांकि मुझे पता है कि आप बाएं जॉइन (चित्र) को सीमित नहीं कर सकते हैं, केवल एक सबकुछ किए बिना एक यादृच्छिक तस्वीर उठा सकते हैं। ,mysql सबक्वेरी और मिलती है
SELECT galleries.id, galleries.name, users.username, pictures.url
FROM galleries
LEFT JOIN users ON users.id = galleries.user_id
LEFT JOIN pictures ON (
SELECT pictures.url
FROM pictures
WHERE pictures.gallery_id = galleries.id
ORDER BY RAND()
LIMIT 1)
WHERE active = 1
ORDER BY RAND()
LIMIT 15
मैं भी सक्रिय रिकॉर्ड के साथ ऐसा करने की कोशिश की लेकिन मैं कर दो बाईं मिलती है के बाद अटक गया यह संभव है:
यहाँ मैं अब तक क्या मिला है, लेकिन इसके काम नहीं कर एकदम सही ढंग से है यहाँ में एक सबक्वेरी प्राप्त करने के लिए:
$this->db->select('galleries.id, galleries.name, users.id as user_id, users.username');
$this->db->from('galleries');
$this->db->join('users', 'users.id = galleries.user_id','left');
$this->db->join('pictures','pictures.gallery_id = galleries.id AND','left');
$this->db->where('active',1);
मुझे आशा है कि अपने गन्दा करने के लिए नहीं है, लेकिन मैं वास्तव में सभी एसक्यूएल प्रश्नों द्वारा भ्रामक पाने के लिए शुरू कर ..
संपादित करें: Active Record with CodeIgniter
सक्रिय रिकॉर्ड के दिलचस्प उद्धरण के लिए +1 ... क्या आप कृपया एक लिंक शामिल करने के लिए संपादित कर सकते हैं? –