我在构造多对多关系中的查询时遇到了麻烦...我有以下域类:
class Event {
Appuser creator
static belongsTo = Appuser
static hasMany = [guests: Appuser]
和
class Appuser {
static hasMany = [friends: Appuser, events: Event]
因此,想法是用户可以有 friend ,他们可以设置并拥有多个事件,也可以是其他用户事件的客人。
我的问题是构造查询以获取特定事件的 guest 列表。
我已经在 Controller 中尝试过:
def guests = Appuser.findAllByEvent(eventInstance)
这给出了一个错误
def guests = Appuser.findAllByEvents(eventInstance)
这给出了一个错误
任何想法如何补救?谢谢。
最佳答案
Appuser.findAllByEvent
没有意义,因为该类中没有event
属性。动态查找器只能使用持久属性。 findAllByEvents
更有可能起作用,因为存在events
属性(由于hasMany
而由AST转换添加),但是您无法使用动态查找器查询集合;您需要使用这些条件/条件/ HQL查询。
但您根本不需要查询-只需使用声明的hasMany
属性即可:
Event eventInstance = ...
def guests = eventInstance.guests