【发布时间】:2013-04-09 10:06:13
【问题描述】:
我正在尝试在 grails 中使用创建标准方法,但我返回一个空列表,我不知道为什么。 我的代码如下
def results = PostOrder.createCriteria().list() {
posts{
author{
eq('username', lookupPerson().username)
}
}
picture{
user{
eq('username', lookupPerson().username)
}
}
}
PostOrder 域如下:
class PostOrder {
String pOrder
Date dateCreated
Picture picture
Post posts
Video video
Boolean favorite = false
static hasMany = [children : Child]
static constraints = {
picture nullable: true
posts nullable: true
video nullable: true
}
}
帖子如下:
class Post {
String message
User author
Date dateCreated
Child child
boolean postedToAll
String tag
static hasMany = [tags:Tag]
static constraints = {
child nullable: true
tags nullable: true
tag nullable: true
}
}
最终图片如下:
class Picture {
String orgName
String urlOrg
String urlWeb
String urlThumb
Date dateCreated
String caption
Child child
User user
Album contained
String tag
boolean postedToAll
static hasMany = [tags:Tag]
static constraints = {
orgName blank: false
caption maxSize: 500
tags nullable: true
caption nullable: true
tag nullable: true
child nullable: true
}
}
对我来说,这会很好用,任何人都知道为什么不可以吗?
【问题讨论】:
-
你想找什么?尝试删除帖子或图片并查看结果。
-
我想获取帖子中的作者等于当前用户以及图片中的用户等于当前用户的所有 PostOrder 实例
-
确保您的帖子中有图片。启用休眠 sql 输出也很好,然后您可以看到 GORM 正在运行的查询。这可以通过在
dataSource{}块中添加logSql=true在DataSource.groovy中完成。 -
你得到一个空列表 - 你确定那个答案是错误的吗?即您是在单元/集成测试中还是针对真实数据库运行此查询?您是否有与您正在运行的查询实际匹配的数据?
标签: grails