1

私は Grails と動的言語を初めて使用するので、「願わくば単純な」質問がいくつかあります。

正常に動作するタグ付け可能なプラグインをインストールしました。タグ付きの配列があります。すべてのタグについて、findAllByTag を使用して一連のデータを収集します。その後、ランダム化して 1 つのエントリを選択します。よく働く。ここで、DB からすべてのオブジェクトを取得しないことにしました。特定のクレテリア(DB列の顧客ID)を持つすべてが必要です。これは次のようになります。

def customerSet = Customer.findAllBycustomerID(params.customerID)

両方のクエリが機能しましたが、必要に応じて組み合わせることができません。私は何かを試しました

def hits = customerSet.findAllByTag(tag)

しかし、その後、私は

groovy.lang.MissingMethodException: メソッドの署名がありません: java.util.ArrayList.findAllByTag() は引数の型に適用されます: (java.lang.String) 値: [mac]

そのようなリストでfindAllByTagを実行できないと思います。

または、次のように何とかしなければなりませんか?

def customerSet = Customer.findAllBycustomerID(params.customerID.findAllByTag(tag)) ???

ありがとう、クラース

4

1 に答える 1

1

これがタグ付け可能で機能するかどうかはわかりませんが、.findAllByCustomerIdAndTag(customerId,tag) などの 2 つのプロパティを持つ動的ファインダーを使用できます。

それがうまくいかない場合は、基準を使用できます。

Customer.createCriteria().list{
    eq('customerId',someCustomerId)
    tags{
        eq('name',someTag')
    }
}
于 2009-11-12T21:56:52.233 に答える