我在我的数据库中有一列名为invoice_number的列。从Grails中的数据库检索值
class Customer {
String name
int invoiceNumber
static constraints = {
name(blank: false)
invoiceNumber(unique: true)
}
}
index.gsp文件中的invoice_number没有字段。
<g:form controller="customer">
Name:<br>
<g:textField name="name"></g:textField><br>
<g:actionSubmit value="Submit" action="Save"></g:actionSubmit><br>
</g:form>
我要生成一个发票号码,并用5。例如有差别,当第一客户提交表格,发票数可以为105。当第二客户提交的形式中,发票生成增加它数字应该是110.它们应该保存在数据库中,并且它们必须是唯一的。 然后,我想从提交表单的客户的数据库检索发票号码,然后将该发票号码传递给另一个gsp文件。
我该怎么办?
嗯...所以客户只能有1张发票吗?自从?是否有真正的商业理由将发票数量增加5? 106..109会发生什么? – railsdog
正如@railsdog所指出的那样,为什么要将发票号码增加5?您可以简单地将其增加1,它仍然可以是唯一的,对吗?同样从你的域名类看来,只有一张发票将被映射给客户。这是业务逻辑吗? –
这里的一切似乎只是错误的。这就是为什么你没有收到任何好的答案。正如railsdog提到的 - 1个用户和1个发票似乎很奇怪。您应该创建发票作为课程,并向用户添加一对多(如果您想要多于一张发票)。并且该数字可以是域名函数'afterInsert',其变为'invoiceNumber = id * 5 + 100'或类似的东西。 (但是只有当您有发票作为单独的课程时才有效。 –