gpt4 book ai didi

grails - createAlias-如何在GORM中指定LEFT联接的ON条件?

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

我面临这样一种情况,默认情况下默认LEFT join在不需要的条件下加入,并且我想显式定义它,我该怎么做?

例如createAlias('fault.tgmap', 'tg', CriteriaSpecification.LEFT_JOIN)在错误的列中选择了错误的列,即默认情况下使用group_id而不是fault_id(请注意tg有两列fault_idgroup_id)。

如何明确指定应在哪种条件下进行联接,即fault.id = tgmap.fault_id instead of fault.id = tgmap.group_id?
为了提供特定于域的信息,trace,fault和tracegroup16是域表。

def results = trace.list(max:max, offset:offset) {      

createAlias('fault', 'fault',CriteriaSpecification.LEFT_JOIN)
createAlias('fault.tgmap', 'tg', CriteriaSpecification.LEFT_JOIN)
createAlias('tg.traceGroup16','tr', CriteriaSpecification.LEFT_JOIN)
projections
{
property('fault.id')
property('tr.geckId')
}
}

最佳答案

查看模型的外观会很有用,但我认为您可以执行以下操作:

Fault.createCriteria().list() {
createAlias('tgmap', 'tg', CriteriaSpecification.LEFT_JOIN)
eqProperty('tg.fault.id', 'id')
}

Reference

关于grails - createAlias-如何在GORM中指定LEFT联接的ON条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29313497/

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