1

次のような 2 つのドメインがあります。

class Color {
  static hasMany = [shade: Shade]
  String colorName
  String colorType
}

class Shade {
  static belongsTo = [color: Color]
  String shadeName
  boolean isAvailable
}

colors利用できないものがあるすべてを見つけたいshades

したがって、私のデータが次のような場合:

ID     color_name    color_type
----    --------      ----------
22       RED           CRAYON
23       GREEN         PAINT
45       GREY          CRAYON

ID     color_id       shade_name     is_available
---    ----------     -------------   ----------
2      22              DARK           false
3      22              LIGHT          true
4      23              DARK           true
5      23              LIGHT          true
6      45              DARK           false
7      45              LIGHT          false

私は結果をサイズ2にして、ID付きの色のアイテムを使用したいと考えて22 and 45います。not available

このクエリを試しましたが、これが必要なものを返すかどうかは完全にはわかりません

def query = Color.where {
 shade.isAvailable == false
}
def list = query.list()

このために休止状態によって生成されたSQLを表示すると、句に気付かずgroup by、選択ステートメントは両方から列を取得していcolorますshade

4

2 に答える 2