1

次のドメイン モーダルを用意します。

class TransactionHeader {
  static hasMany = [details: TransactionDetail]
}

class TransactionDetail {
   static belongsTo = [header: TransactionHeader]
   Product product
}

2 つの異なる製品を持つ TransactionDetails を含むすべての TransactionHeader 行を返す条件クエリを作成しようとしています。これは私がこれまでに持っているものであり、私が求めていることを正確に行っていません:

def list = TransactionHeader.withCriteria {
    details {
      and {
        eq("product", product1)
        eq("product", product2)
      }
    }
}

何が起こっているかというと、1 つの製品に関する少なくとも 1 つの詳細を含む行が返されます。2 つの詳細があり、それぞれに製品が 1 つずつある行が必要です。

4

2 に答える 2

2

そこから詳細を移動したいような気がするので、実際には

def list = TransactionHeader.withCriteria {
    and {
       details {
          eq("product", product1)
       }
       details {
          eq("product", product2)
       }
    }
}

ただし、休止状態/gormがこれをどのように処理するかはわかりません。

于 2012-07-26T17:55:59.227 に答える
-1

条件DSLで「in」ステートメントを使用してみましたか?

def list = TransactionHeader.withCriteria {
    and {
       details {
          'in'("product", [product1, product2])
       }
    }
}
于 2013-02-07T18:12:15.443 に答える