Je le schéma suivant:Rails actif Enregistrement requête pour Double avec un joint Nested Sélectionnez Appel
Photos has many
Groupes Utilisateurs has many
. J'utilise ce serveur Rails en tant que backend pour une application iOS et j'ai constamment besoin d'envoyer des notifications à tous les utilisateurs concernés d'un groupe lorsqu'une photo est ajoutée.
Le problème est de trouver la requête la moins coûteuse pour résoudre seulement le User.ids
affecté.
Jusqu'à présent, j'ai
Photo.find(1).groups.joins(:users)
Je sais que je dois mettre un argument de sélection après, mais ne peut pas comprendre la syntaxe pour la vie de moi. Étant donné une photo, je suis à la recherche du moyen le plus efficace pour trouver une collection des identifiants d'utilisateur affectés.
Toute aide serait grandement appréciée !!!
'Group.where (photo_id: 1) .users.collect {| u | met u.id} 'comme photo has_many groupes donc groups appartient à photo et gorups table a photo_id comme clé étrangère alors s'il vous plaît essayez ceci –