所以我需要像动态取景器那样根据条件改变的东西,让我通过代码解释我的意思

下面的代码按状态和lastdateattended查找所有员工

    def employee = Employee.findAllByStatusAndLastDateAttended("INA",dateObject)

现在我在Employee LastDateAttended和LastDateSigned中有两个字段,现在我希望如果记录中没有LastDateAttended,那么它应该由LastDateSigned查找,否则应该由LastDateAttended查找,所以另一个条件是
      def employee = Employee.findAllByStatusAndLastDateAttended("INA",dateObject)

我以某种方式希望加入并使用基于条件的两个查询,可以实现吗?如果可能,请帮助

最佳答案

Employee.list().findAll { emp->
     emp.status == "INA" && ( emp.lastDateAttended!=null?
         emp.lastDateAttended.equals(dateObject):emp.lastDateSigned.equals(dateObject)
       )
}

09-18 20:49