gpt4 book ai didi

grails - Groovy中不同类型的null

转载 作者:行者123 更新时间:2023-12-02 15:33:52 25 4
gpt4 key购买 nike

我有一个看起来像这样的方法:

static UserEvent get(long userId, long eventId) {
UserEvent.find 'from UserEvent where user.id=:userId and event.id=:eventId',
[userId: userId, eventId: eventId]
}

我用一些测试数据来称呼它两次:
    println UserEvent.get(1, 1) //I know this has value
println UserEvent.get(1,2) //I know this does not

以上两个语句导致:
scheduler.UserEvent : null
null

问题

有什么不同?我该如何为是否存在东西写一个If条件。

更新

我正在创建这样的对象:
def event = Events.findById(params.eventid)
def user = User.findById(params.userid)

UserEvent.create(user, event, true)

最佳答案

@tim_yates是正确的,所检索的对象没有id属性。看起来像M对M的关系。

因此,在第一种情况下,将返回一个实例,但其ID为null。
在第二种情况下,找不到对象。

您可以使用类似:

def ue = UserEvent.get(userId, eventId)
if (ue && ue instanceof UserEvent) { //do something }
else { //do something else }

希望这可以帮助。

关于grails - Groovy中不同类型的null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15091570/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com