域名类'消息'显示如下:
String name
String age
User user
从以下代码中,我检索已发布的所有邮件。但我真正想要的是显示特定用户的所有消息。例如:user.firstName。我该怎么做?
def messages = Message.listOrderByDate(order: 'asc', max:1000)
println messages.firstName + " BOOOOOOO "
[messages:messages.reverse()]
因此,不是根据用户名显示我想要过滤数据的所有数据。怎么办呢?
答案 0 :(得分:1)
可以通过以下方式查询:
def results = Message.withCriteria {
user {
eq("name", theUserNameYouWantToQuery)
}
order("date", "asc")
maxResults(1000)
}
此示例可以扩展为分组等。请参阅http://grails.org/doc/latest/ref/Domain%20Classes/createCriteria.html
答案 1 :(得分:0)
创建从用户到消息的hasMany关系,如下所示:
class User {
static hasMany = [messages: Message]
}
class Message{
String name
String age
static belongsTo [user: User]
}
然后使用myUser.messages
来获取此用户的所有邮件。