Ben bu doğru yaklaşım ise oldukça eminim katılır, bu benim durumdur id ama aynı zamanda her galeriden bir rastgele resim seçmek istiyorum, ancak bildiğim kadarıyla bir alt sorgu yapmadan sadece bir rasgele resim almak için sol birleştirmeyi (resim) sınırlayamazsınız. ,mysql alt sorgular ve
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
Ben de Aktif Record ile bunu denedi ama iki sol birleştirmeler yaptıktan sonra saplanıp mümkündür: Burada
şimdiye kadar var ama olması gerektiği gibi onun çalışmıyor ne buraya bir alt sorgu almak yapmalı: umarım$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);
onun dağınık ama gerçekten tüm sql sorgular tarafından kafa karıştırıcı almaya başladım değil ..
Düzenleme: Eğer bir resmi olmadan galerileri dönmek INNER JOIN SOL DIŞ için JOIN değiştirmek istiyorsanız bu sorgu (o zaman bir resim ile herhangi galerisi bulacaksınız dışarı çıkıp bir galeri seçecektir Active Record with CodeIgniter
+1 Aktif Kaydın ilginç bir atıfı için + ... bir bağlantı eklemek için lütfen düzenleme yapabilir misiniz? –