Wines.find(:all).group_by(&: region_id).each do |region_id, region_wines| region_wines.group_by(&:color).each do |color, color_wines| etc, etc end end
c'est pas très propre mais ça a le mérite de marché rapidement. mais il y a d'autre solution, en partant de région tu peux retrouver les couleurs de tout tes vins et toutes les appellations, avec has_many : through 2008/12/2 Julien Castelain <[EMAIL PROTECTED]> > Merci pour la réponse, > Malheureusement je ne comprends toujours pas comment faire > > > > 2008/12/2 guillaume belleguic <[EMAIL PROTECTED]> > > bonjour, >> tu part de wines et tu groupes les enregistrements trouvé suivant : >> region_id >> ensuite tu regroupe les tableaux résultant suivant couleur >> ensuite tu regroupe les tableaux résultant appelation_id >> >> group_by sur les tableaux pour êtres fainéant mais >> pas forcement peformant... >> >> Après ça doit être possible en sql pure. >> >> On Tue, Dec 2, 2008 at 12:10 PM, Julien Castelain <[EMAIL PROTECTED]>wrote: >> >>> Bonjour à tous, >>> >>> Je vais tenter de vous exposer mon problème en essayant d'etre clair, en >>> gros je n'arrive pas à "lier" certaines tables, >>> >>> J'ai une table "wines" qui ressemble à ceci : >>> >>> wines >>> -- id >>> -- name >>> -- color >>> -- region_id >>> -- appellation_id >>> >>> exemple (1, "Mon vin", "Rouge", 1, 1) >>> >>> J'ai egalement les tables regions et appellations qui ressemblent elles à >>> ceci : >>> >>> region >>> -- id >>> -- name >>> >>> exemple (1, "Bordeaux") >>> >>> appellation >>> -- id >>> -- bale >>> >>> exemple (1, "Chateau du slip") >>> >>> Voici ce que je souhaite faire (enfin mon client pas moi) >>> >>> Afficher >>> >>> - Region >>> -- Couleur >>> --- Appellation >>> ---- Nom du vin >>> >>> Vu la structure de mes tables, je ne vois pas comment cela est possible >>> mais si vous aviez un exemple ou un tuto pour ce genre de truc, je vous en >>> serez reconnaissant, >>> >>> Merci d'avance >>> >>> >>> >>> >>> >>> >>> >> >> >> > > > > --~--~---------~--~----~------------~-------~--~----~ Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de Google Groups. Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse [email protected] Pour résilier votre abonnement envoyez un e-mail à l'adresse [EMAIL PROTECTED] -~----------~----~----~----~------~----~------~--~---
