grails。领域类。 1:米
问题描述:
我有域类:grails。领域类。 1:米
package test
class Credit {
String name;
static hasMany = [debts : Debt]
static constraints = {
}
}
和
package test
class Debt {
Integer amount;
Date date;
static belongsTo =[credits: Credit]
static constraints = {
}
}
需求:选择max: 10
; order: "desc"
; sort: "date"
债务行Сredit.get(id)
我该怎么办?
解决方案:
Debt.findAllByCredits(Credit.get(params.id),[max:10, sort:"date",order:"desc"])
但这个例子下一个问题:
为什么,此代码的工作:
def ok = Debt.findAllByCredits(Credit.get(params.id),[max:10, sort:"date",order:"desc"])
println "true:" + ok
但是这个代码不工作正确的:
def dd = new Debt(credits: Credit.get(params.id))
def wrong =Debt.findAll(dd)
println "no: "+ wrong
所有时间都返回表中的所有记录,为什么?
答
你可以做类似
def hql = "select d from Debt d where credits = ? order by d.date desc"
Debt.findAll(hql, [credit], [max:10])
您可能需要调整这一点,但类似的事情应该工作。另请注意,我假设您有一个信用实例,即债务的母公司。
您还可以使用的Grails在运行时动态生成的方法,根据您的类
Debt.findAllByCredit(credit, [max:10,sort:"date",order:"desc"]
再次的属性,您将需要一个信贷对象的引用。
在
具体规定域类在左手导航上的findAll和findAllBy部分退房的文档。
如果您有其他问题,则应该创建一个新问题,而不是将其添加到已回答的问题中。 – 2010-11-28 16:57:06
好的,谢谢。我现在就做。 – user471011 2010-11-28 17:05:40