我在多对多关系中构建查询时遇到问题...我有这些域类:
class Event {
Appuser creator
static belongsTo = Appuser
static hasMany = [guests: Appuser]
和
class Appuser {
static hasMany = [friends: Appuser, events: Event]
因此,想法是用户可以拥有朋友,他们可以设置和拥有多个活动,他们也可以是其他用户活动的访客。
我的问题是构建查询以获取特定事件的访客列表...
我在我的控制器中试过了:
def guests = Appuser.findAllByEvent(eventInstance)
这会产生错误
找不到类
的属性
def guests = Appuser.findAllByEvents(eventInstance)
这会产生错误
没有为参数1指定值
任何想法如何补救?感谢。
答案 0 :(得分:2)
Appuser.findAllByEvent
没有意义,因为类中没有event
属性。动态查找程序只能使用持久属性。 findAllByEvents
更有可能工作,因为存在events
属性(由于hasMany
而由AST转换添加),但您无法使用动态查找器查询集合;你需要使用标准/ where / HQL查询。
但您根本不需要查询 - 只需使用您声明的hasMany
属性:
Event eventInstance = ...
def guests = eventInstance.guests