gpt4 book ai didi

grails - 多个联接的排序问题

转载 作者:行者123 更新时间:2023-12-02 14:09:42 24 4
gpt4 key购买 nike

我在排序以与多个联接表一起使用时遇到问题。例如:

class Account {

static hasMany = [subscriptions: Subscription]

static mapping = {
subscriptions fetch: 'join'
subscriptions sort: 'magazine'
}

}

class Subscription {

static belongsTo = [account:Account, magazine: Magazine]

static maping = {
magazine fetch: 'join'
magazine sort: 'name'
}

}

class Magazine {
String name
static mapping = {
sort name: 'desc'
}
}

当someAccount.subscriptions称为通过magazine.id生成的查询顺序时。有什么方法可以通过magazine.name获取订单吗?我尝试更改为订阅排序:“magazine.name”,但出现错误,没有此类属性。

以下: http://grails.org/doc/latest/guide/single.html#5.5.3默认排序顺序我试图通过从“帐户”中删除排序并仅保留“订阅”中的排序来将排序移到关联级别,但最终从结果查询中完全删除了“排序依据”。有任何想法吗?谢谢。

最佳答案

尝试在Magazine类中实现compareTo方法:

class Magazine implements Comparable {
String name

int compareTo(obj) {
name.compareTo(obj.name)
}
}

然后订阅中的一个
class Subscription implements Comparable {

static belongsTo = [account:Account, magazine:Magazine]
static constraints = {
}
int compareTo(obj) {
return magazine.compareTo(obj.magazine)
}
}

然后将订阅设为“帐户中的SortedSet”:
class Account {
SortedSet subscriptions
static hasMany = [subscriptions:Subscription]
}

关于grails - 多个联接的排序问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3152963/

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