鉴于以下类别:
简化示例:
class Query {
Institution institution
}
class Institution {
String name
}
提交以下参数:query.institution.id=20
和query.institution.name=Example
我想只包含机构ID,并忽略绑定到查询机构实例的名称。
bindData是否可以显式包含嵌套多个级别的关联实例?
除了使用单一嵌套级别的前缀之外,我还没有看到任何这样的例子,以下似乎不起作用:
简化示例:
bindData(queryInstance, params, [include: [
'institution.id',
]], 'query')
答案 0 :(得分:0)
最佳做法是通过命令对象过滤您的请求参数,然后可以使用命令对象生成任何类型的查询。
Command cmd = Command.getInstance()
bindData(cmd, request.params)
if (cmd.validate()) Query query = cmd.generateQuery()
通过这种方式,您可以获得仅绑定到您在命令对象上公开的字段的好处,同时验证和转换传入数据而不涉及您的域。