2011-08-29 4 views
1

J'ai trois bases de données dans GAE. Hobby, Participant et Événement. Chaque participant peut choisir autant de passe-temps qu'il le souhaite. Lorsqu'un événement est créé, l'utilisateur choisit un passe-temps pour associer l'événement et une invitation sera envoyée à chaque participant qui a choisi ce passe-temps. Hobby DB est une base de données préchargée.
Je veux faire une requête qui fait cela.Interrogation entre trois tables, relation plusieurs à plusieurs

après avoir lu le blog de Nick http://blog.notdot.net/2010/10/Modeling-relationships-in-App-Engine qui était très utile je sens que je suis censé utiliser la méthode qui a été mentionné dans

il

participants = Attendee.all() filtre (« passe-temps = », basket-ball) .fetch (100)

Cependant, je suis coincé là ... toute aide serait vraiment appréciée.

+0

Comment êtes-vous bloqués? Vous n'avez pas réellement décrit de problèmes. –

Répondre

1

Je pense que vous devriez enregistrer les invitations envoyer dans une table, dites "invitationsSend" avec deux champs: événement et participant, dont deux champs font une clé primaire unique.

Pour construire cela, vous devrez sélectionner les données entre les deux tables de votre événement et les participants:

insert into invitationsSend(select E.Event, A.Attendee from Event as E, Attendee as A where E.Hobby = A.Hobby) 

Mais je ne suis pas familier avec votre « db.listProperty » utilisé pour « passe-temps » et je Je ne sais pas comment regarder dans cette liste. Je devrais le faire comme une table séparée avec des données "Attendee, Hobby", les deux comme clé primaire.

Cordialement,

Questions connexes