У меня есть один столбец с именем 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 счет-фактура кажутся странными. вы должны создать счет-фактуру в качестве класса и добавить «один-ко-многим» пользователям (если вам нужно больше 1 счета-фактуры). и число может быть функцией домена 'afterInsert', которая идет' invoiceNumber = id * 5 + 100' или что-то в этом роде. (но будет работать только в том случае, если у вас есть счета-фактуры в виде отдельного класса. –