Requête sql complexe


#1

Bonsoir à tous,

J’ai besoin d’un petit coup de main pour une requête sql que je ne peux
pas exécuter autrement qu’en passant par un find_by_sql…

Voici ma requête

[“select * from users u
where u.id IN (select user_id
from loops_users l
where l.loop_id IN (select loop_id
from loops_users lo
where
lo.user_id=’#{current_user.id}’))”]

La méthode find_friends se trouve dans le controller de users.
Et dans ma vue, je veux faire un <% current_user.find_friends.each do
|friend| %>

En gros, pour placer le cas dans son contexte, je veux récupérer une
liste d’amis pour un user.

Ma question c’est que j’ai un undefined method que je n’arrive pas Ã
résoudre. Et je voulais également savoir si j’étais obligé de passer par
un find_by_sql?

Merci d’avance


#2

Et je voulais également savoir si j’étais obligé de passer par
un find_by_sql?

J’ai pas trop compris ton cas, mais tu peux pas le faire simplement avec
un
has_many ?

style

class user < AR::B

has_many :friends

et ensuite un simple

user.firends te donne la liste des friends de ton user.

gUI


Pour la santé de votre ordinateur, préférez les logiciels libres.
Lire son mail : http://www.mozilla-europe.org/fr/products/thunderbird/
Browser le web : http://www.mozilla-europe.org/fr/products/firefox/
Suite bureautique : http://fr.openoffice.org/


#3

Le 19 février 2009 18:09, Guillaume a écrit :

En gros, pour placer le cas dans son contexte, je veux récupérer une
liste d’amis pour un user.

La lecture de ce thread peut t’aider :
http://www.ruby-forum.com/topic/173501

– Jean-François.


http://twitter.com/underflow_