【发布时间】:2016-05-12 14:20:03
【问题描述】:
我有一个域 Guest,它与 Person 和 User 域具有 belongsTo 关联,如下所示:
class Guest {
static belongsTo = [
person:Person,
user : User // owner for guest
]
}
在我的服务 GuestService.groovy 中,我正在尝试更新与给定 guest 关联的相关 Person 信息:
@Transactional
def updateGuests(def guestArray) {
guestArray.each { data ->
User user = User.findById(data["userId"])
Guest guest = Guest.findByIdAndUser(data["guestId"] , user)
if( ! guest )
throw new NotFoundException("Invalid input parameters")
println(" email : " + guest.person.email + " new email " + data["email"])
Person person = guest.person
//person = Person.findById(person.id)
person.email = data["email"]
person.phoneNumber = data["phoneNumber"]
person.save(flush:true)
//guest.save(flush: true)
}
}
我无法更新人员信息,也没有收到任何错误。 我调试了代码,所有值都存在,直到退出调试点。我在互联网上搜索了这个堆栈上的其他相关问题,但没有任何问题与此类问题有关。
【问题讨论】:
-
我是 grails 新手,从这些页面学习基础知识肯定会对我有所帮助,感谢您的链接
-
没有检查链接,但
save(flush: true, failOnError: true)会显示错误。你可以从那开始。而且 -findById()与get()相同。
标签: grails