-1

私は私の方法の1つでこのようなことをしています:

    def colorId = Store.findByName(color).id
    def shadeIds = Shades.findAllByColor(colorId).shadeId
    println "IDS" + shadeIds //sometimes this is empty ([])
    MyShop.getAll(shadeIds).shades

上記のコードから、shadeIds空の場合は常に[]SQLエラーが発生しますMyShop.getAll(shadeIds).shades。これに対する回避策はありますか?

私の一時的な回避策は次のとおりです。

    def colorId = Store.findByName(color).id
    def shadeIds = Shades.findAllByColor(colorId).shadeId
    println "IDS" + shadeIds //sometimes this is empty ([])
    if (shadeIds.size() == 0)
      shadeIds << -1
    MyShop.getAll(shadeIds).shades
4

1 に答える 1

1

回避策により、何も返さないことが保証されている不要なデータベース呼び出しが発生します。代わりにこれを使用してください:

def shades = shadeIds ? MyShop.getAll(shadeIds).shades : []
于 2013-03-12T16:54:36.470 に答える