我们如何从域类调用数据库视图?
我有一个域类
SELECT a.invoice_id, a.model_no, c.email_address
FROM invoice_items a, invoices b, customer_details c
WHERE a.invoice_id = b.invoice_id AND b.customer_no = c.customer_no
AND a.model_no = "xxxxxxxx";
我需要调用另一个数据库视图,如vwAnotherview,对abc和def进行一些验证。如何从域类中为此视图调用数据库?
答案 0 :(得分:0)
映射该视图以查看Domain类并在验证器中使用它。没有什么可以阻止你这样做:
static constraints = {
abc validator: {val, obj ->
if (!AnotherView.findByThisObject(val).someProperty) return ['somethingsWrong.withAbc']
}
def validator: {val, obj ->
if (!AnotherView.findByThisObject(val).someProperty) return ['somethingsWrong.withDef']
}
}
AnotherView是映射到视图的对象。
要了解有关验证工具的更多信息,请查看此处:http://grails.github.io/grails-doc/2.5.0/ref/Constraints/validator.html