【问题标题】:In Grails... How to union two tables in a single controller?在 Grails 中...如何在一个控制器中合并两个表?
【发布时间】:2011-07-01 14:04:03
【问题描述】:

我有两个表,但它们是作为插件安装在 Grails 中的。

T1 中的列是:a1、b1、c1、d1

T2 中的列是:a2、b2、c2、d2

我需要从控制器中的两个表中选择列 a*、b*、c*、d* (=1,2) 作为联合,并按列 d 对所有列进行排序,我该怎么做?

此外,分页如何将结果视为单个表格?

请帮忙。欣赏!!

【问题讨论】:

标签: database grails controller


【解决方案1】:

不确定这是否有用。我们过去遇到过类似(虽然不完全)的问题,我们通过创建视图来解决它。您可以创建视图来进行联合和选择,然后创建映射到该视图的新域类。

您将无法对表使用 grails 自动创建,这是另一个限制。

【讨论】:

  • 感谢您的解释。但是我无法编辑插件中已经存在的域类。那么,你的意思是我应该创建自己的域类,然后在控制器中选择它?你介意给我一些关于这个的更多提示吗?谢谢。
【解决方案2】:

在分页上:

  1. groovy.sql.Sql rows()eachRow() 有第二个和第三个参数 maxoffset,你可以像普通的list 一样对它们进行分页。

  2. 使用另一个 SQL 查询或其他方式检索总计数。从数据页rows()int totalCount 构造一个PagedResultList - 你得到一个可以用作模型的对象。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2014-03-07
  • 2020-06-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-30
  • 1970-01-01
相关资源
最近更新 更多