Ben sorun ben arıyorum kayıtları döndüren bir CakePHP find () beste yaşıyorum.
Benim dernekler böyle gidin:
User ->(has many)-> Friends ,
User ->(has many)-> Posts
Ben her bir kullanıcının arkadaşlarını son mesaj bir listesini görüntülemek için çalışıyorum, başka bir deyişle, oturum açmış geçerli kullanıcının bir arkadaşı tarafından oluşturulan her yazı listelemek
Bu yaptığını düşünebilirsiniz tek yolu find () çağrısı gibi bir şey olmazdı, böylece büyük bir dizideki tüm kullanıcının arkadaşlarının user_ids koyarak ve ardından her biri döngü tarafından:
$posts = $this->Post->find('all',array(
'conditions' => array(
'Post.user_id' => array(
'OR' => array(
$user_id_array[0],$user_id_array[1],$user_id_array[2] # .. etc
)
)
)
));
Ben o kullanıcının bir sürü OR koşulları bulunuyor popüler sanki bu şeyler yapmanın en iyi yolu değildir izlenim olsun. Herkes daha iyi bir alternatif önerebilirsiniz?
Netleştirmek için, burada veritabanının basitleştirilmiş bir versiyonu:
"Users" table
id
username
etc
"Friends" table
id
user_id
friend_id
etc
"Posts" table
id
user_id
etc