我有一張表叫做員工和子表的地址。使用GORM對子表中的列進行排序?
現在我想要使用GORM獲取在地址表中按地址1排序的員工列表。
Employee.findAllByName(name, [max: maxRecords, offset: 100,sort: Address.address1, order: desc])
上述聲明不起作用,任何建議,將不勝感激。
感謝
我有一張表叫做員工和子表的地址。使用GORM對子表中的列進行排序?
現在我想要使用GORM獲取在地址表中按地址1排序的員工列表。
Employee.findAllByName(name, [max: maxRecords, offset: 100,sort: Address.address1, order: desc])
上述聲明不起作用,任何建議,將不勝感激。
感謝
嘗試使用criteria查詢是這樣的...
def c = Employee.createCriteria()
def results = c.list (max: maxRecords, offset: 100) {
eq("name", name)
address {
order("addres1", "desc")
}
}
這對我的作品!
另一個選項是添加默認的排序順序,像這樣......
class Address{
…
static mapping = {
sort address1:"desc"
}
}
然而,我總是喜歡做的事情作爲一個「按需」的基礎上,而不是定義排序即使在不需要時也可以每次完成。 U選擇。請享用!
感謝Michael,但是如果我從請求中動態地傳遞排序順序,它會起作用嗎? –
當然...訂單(「address1」,「$ {params.sortOrder}」) –
謝謝Michael ... –
我會看看這個:http://grails.org/doc/latest/guide/GORM.html#defaultSortOrder看起來你可能能夠在Employee Mapping中定義一個默認排序。 –
'sort'參數必須是要排序的字段的名稱。如果您打算按其他表中的屬性進行排序,則應該使用標準或HQL。 – GalmWing