1
が、私は閉鎖「Q」を修正する可能性がどのようにのGrails/Groovyは:GORMドメインクラスで
def q = {
property1{
eq('attr', 0)
}
}
MyDomainClass.list(q)
を行うことができ、実行時に「クエリ」の閉鎖を変更する(または含むことになり、新しいクロージャを作成します実行時に 'q'を閉じるという制限があります)、例えば別のプロパティ制限を追加できますか?
詳細
実は私の問題は、ドメインクラス階層に複合条件を作成する方法です。 'dummyChildCriteria' は、
class Parent{
int pAttr
static def getCriteria(){
def dummyParentCriteria = {
eq('pAttr', 0)
}
}
}
class Child extends Parent{
int cAttr
static def getCriteria(){
def dummyChildCriteria = {
// (1)
eq('cAttr', 0)
}
}
}
私は親の制限を繰り返さないようにしたいです。私は名前付きクエリで(1)
ソリューションは
class Parent{
int pAttr
static namedQueries = {
parentCriteria{
eq('pAttr', 0)
}
}
}
class Child extends Parent {
int cAttr
static namedQueries = {
childCriteria{
parentCriteria()
eq('cAttr', 0)
}
}
}
を継承誰かが答えを知っていれば何とかそこに親のgetCriteriaの結果を結合したいと思います
最初の質問はそれが知っていいだろう!
離脱基準を試しましたが、基準を条件付きで追加する方法を理解できませんでした。例えば、基準閉鎖に私が有することができる:parentCriteria {qc-> IF(qc.a1){EQ(A1 ''、qc.a1を)}(qc.a1){EQ( 'A2'、qc.a2)場合} /*etc...*/}。分離された基準でこれを行うことはできますか? – sikrip