-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 回答