0

我有一个 Grails 应用程序,我正在尝试根据对象上的不同字段进行搜索。我想用单选按钮实现一个搜索字段,以确定搜索哪些字段。

示例:如果选择框 1(搜索标题),则输入框有“ABC” 如果选择框 2(搜索作者)如果选择框 1 和 2(搜索标题和作者,如果其中一个匹配则返回项目)

所以它看起来像:

如果框 1 (entries = entry.findAllByTitleLike("ABC")) 如果框 2 (entries = entry.findAllByAuthorLike("ABC"))

一旦我进入,我就可以输出它,只需要了解如何进行单选按钮的多选。

4

2 回答 2

1
def entries = entryClass.withCriteria {
  if (box1) {
    like 'title', "ABC"
  }
  if (box2) {
    like 'author', "CDE"
  }
}
于 2012-12-04T22:27:34.753 回答
0
if (box1 && box2) {
   entries = entry.findAllByTitleLikeOrAuthorLike("ABC", "ABC")
}
else if (box1) {
   entries = entry.findAllByTitleLike("ABC")
}
else if (box2) {
   entries = entry.findAllByAuthorLike("ABC")
}
else {
   entries = []
}
于 2012-12-05T00:03:02.423 回答