0

オブジェクトのさまざまなフィールドに基づいて検索しようとしている Grails アプリがあります。どのフィールドが検索されるかを決定するために、ラジオ ボタンを使用して検索フィールドを実装したいと考えています。

例: ボックス 1 が選択されている場合 (タイトルを検索)、ボックス 2 が選択されている場合 (著者を検索)、ボックス 1 と 2 が選択されている場合 (タイトルと著者の両方を検索し、どちらかが一致する場合はアイテムを返す)、入力ボックスに「ABC」が含まれます。

したがって、次のようになります。

ボックス 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 に答える