【问题标题】:Grails accessing relationship tablesGrails 访问关系表
【发布时间】:2015-05-01 11:08:14
【问题描述】:

我的应用程序中有一个多对多关系,如下所示:class

App {
    String type
    String name

    static hasMany = [users: User]
}

class User {
    String email
    String regid

    static belongsTo = App
    static hasMany = [apps:App]

}

现在我想通过获取应用程序的 ID 来访问应用程序的所有用户。我更喜欢使用纯 SQL,因为它的工作速度更快,而且我的数据库将有大约一百万条记录。所以我需要一种方法来访问应用程序 ID 所在的应用程序的所有用户(给定应用程序的数组)。

我正在尝试做这样的事情:

def result = sql.eachRow('SELECT App_Users from App where id in(?)' [id:params.app_checkbox])

但这会引发异常,因为 App_users 列不可用。

我尝试这样做 4-5 小时,记住我不是网络开发人员,这已经让我发疯了,所以你们能给我建议,如何访问多对多的成员与sql的关系?

【问题讨论】:

标签: grails many-to-many grails-orm


【解决方案1】:

最后我设法用简单的标准实现了它:

 def results = App.createCriteria().list() {
                createAlias('users', 'user')
                'in'("id", goodIds)
                projections {
                    count('users')
                }
            }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多