User
クラスのフィールドには、type
のフィールドがあり、これもリストになります。Groovier Wayでどのように問い合わせますか?
のでtype
は、次のようになります。(これは事前に定義されている)
を、私は別のリストを持っている["a","b"]
["c","b"]
ようsearch
を言う今私が欲しいものなすべて私User
インスタンスを検索することです私はユーザーtype
がsearch
のいずれかの要素と一致することがわかります。
def newQ = User.findAllByUsernameIsNotNull()
newQ.each { eachIndex ->
query = eachIndex.type
result = query.findAll { it == "c" }
if(result.size() > 0)
{
ans << eachIndex.username
}
}
上記のコードは動作しますが、ans
リストは私の条件を満たすすべてのUser
を持っています。しかし、あなたは明らかにquery.findAll
行で、私はsearch
から1つの要素の検索だけをしていることがわかります。私はすべてsearch
要素の検索操作をquery
(User
のtype
フィールド)に対して実行したいと思います。
どうすれば実現できますか?私のソリューションとは別に、これを行う簡単な方法はありますか?
ありがとうございます。あなたは、いくつかのようにデータベースに行きたい検索する際、私は単一のクエリ
"type"という名前のフィールドで動作しますか? "type"は予約されたキーワードのようです:http://grails.org/doc/latest/ref/Database%20Mapping/type.html – Philippe
@Philippe:実際はそうですが、名前が変更されました。 –