Diciamo che ho una classe di dominio chiamata "Utente" che può seguire altri oggetti "Utente". Lo fa avendo un campo specificato come:Come posso cercare elementi la cui raccolta contiene un altro elemento in Grails?
def hasMany=[followedUsers:User]
ho bisogno di fare il contrario (trovare tutti gli oggetti utente che seguono un oggetto d'uso specifica) senza impostare la relazione inversa, in quanto non è un caso d'uso eseguita spesso . Ho cercato di fare qualcosa di simile, utilizzando dispositivi di chiusura
User.findAll { it.followedUsers.contains(userInstance) }
ma questo restituisce sempre tutti gli utenti nel database, indipendentemente dal loro status di follow. Ho provato a farlo con HQL ma ho fallito miseramente.
Qualcuno potrebbe darmi un puntatore veloce sul modo più semplice per farlo? Grazie.
Grazie mille. Ho finito per fare 'def followers = User.findAll (" from User where? In elements (followsUsers) ", [userInstance])'. In realtà avevo già provato questa soluzione, ma mancava la chiamata a 'elements() per completarla. – ArmlessJohn