我无法弄清楚如何在Groovy/Grails中进行"连接"以及我得到的返回值
person = User.get(user.id)
def latestPhotosForUser = PhotoOwner.findAll(
"FROM PhotoOwner AS a, PhotoStorage AS b WHERE (a.owner=:person AND a.photo = b)",
[person:person], [max:3])
Run Code Online (Sandbox Code Playgroud)
latestPhotosForUser不是PhotoOwners的列表.这是[PhotoOwner,PhotoStorage]对的列表.由于我正在做一个PhotoOwner.findAll,我原本希望看到只有PhotoOwners.
我做错了什么,或者这是正确的行为?
executeQuery并且findAll有点误导,因为您调用它们的类与查询或其返回类型无关 - GORM将方法添加到所有域类.
鉴于你问我假设你想要的问题的方式
def latestPhotosForUser = PhotoOwner.executeQuery(
"SELECT b FROM PhotoOwner a, PhotoStorage b WHERE a.owner=:person AND a.photo = b",
[person:person], [max:3])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4376 次 |
| 最近记录: |