Précédent   Forum des professionnels en informatique > Autres langages > Autres langages > Ruby > Ruby on Rails
Ruby on Rails Le forum sur le framework Ruby on Rails. Voir aussi la FAQ RoR et les cours RoR.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/10/2011, 22h45   #1
Invité de passage
 
Inscription : avril 2003
Messages : 20
Détails du profil
Informations personnelles :
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : avril 2003
Messages : 20
Points : 1
Points : 1
Par défaut table jointure et find

Bonjour,

Je commence en rails, et je sais que c'est une question trivial que je vais poser, mais j'ai beau chercher, je trouve pas, ou alors je n'arrive pas à une execution correct.

J'ai trois table dont une qui fait jointure entre les deux.


Code :
1
2
3
4
class Joueur < ActiveRecord::Base
has_many :contrats
has_many :equipes, :through => :contrats
end
Code :
1
2
3
4
class Equipe < ActiveRecord::Base
has_many :contrats
has_many :joueurs, :through => :contrats
end

Code :
1
2
3
4
class Contrat < ActiveRecord::Base
belongs_to :equipe
belongs_to :joueur
end
Ce que je veux faire est très simple, c'est afficher la liste des joueurs (Nom et prenom) ayant un contrat (sous certaine condition sur ces contrats mais ça on verra aprés) ayant un contrat avec une equipe quand j'affiche cette équipe.

Dans l'action show de mon controller d'équipe

Code :
1
2
3
 
@joueurs = Joueur.find(:all, :include => [:equipes => :contrats], 
                     		 :conditions => ["equipes.id = ?", self.id])
et j'affiche les joueurs dans ma vue. Mais rien ne s'affiche, ou alors avec un autre include tout les joueurs de ma base de donnée s'affiche.

Question colatérale : Comment faire pour débugger une requete MySQL, c'est à dire savoir quelle est donc la requête qui part ?

En vous remerciant.
psic est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h56.


 
 
 
 
Partenaires

Hébergement Web