如何获取具有指定条件的所有详细信息对象?

时间:2011-05-16 12:51:04

标签: grails groovy gorm

我有

class A {
  String title
  static hasMany = [details: Detail]
}

class Detail {
  enum Type { ONE, TWO }

  String name
  Type type

  static belongsTo = [a: A]
}

如何获取指定对象a的所有详细信息类型ONE的列表?

我试过

def all_one = A.get(params.id).details.findByType(Detail.Type.ONE)

但它不起作用。

1 个答案:

答案 0 :(得分:2)

我认为你应该能够使用Groovy集合API来执行:

A.get(params.id).details.findAll { it.type == Detail.Type.ONE }

或者,您可以从详细信息备份:

Detail.findByAAndType( A.get(params.id), Detail.Type.ONE )

虽然我没有测试过......