gpt4 book ai didi

mysql - rails : User specific sequential column

转载 作者:行者123 更新时间:2023-11-29 08:19:51 25 4
gpt4 key购买 nike

我有一个库存系统,其中用户有很多库存。我们有一个条形码列,每个用户都需要按顺序排列。

例如:

库存表:

id | user_id | barcode
1 | 1 | 1
2 | 1 | 2
3 | 2 | 1
4 | 2 | 2
5 | 1 | 3

在库存模型中我有

before_validation :assign_barcode, on: :create

def assign_barcode
self.barcode = (user.inventories.order(barcode: :desc).first.try(:barcode) || 0) + 1
end

它通常可以工作,但是在为我的数据库播种时遇到了问题:

(1..5).each do
user.inventories.build(...)
end
user.save

我最终得到了用户的一堆具有相同条形码的库存。即使批量添加库存,如何确保库存具有唯一的条形码?

最佳答案

您可以构建并保存对象,而无需保存嵌套的用户对象,这似乎干净地调用了您的验证方法。我很确定这不是预期的那样,但我正在为一个项目做类似的事情并播种相关数据。

类似于:

(1..5).each do
inv = user.inventories.build
inv.save
end

关于mysql - rails : User specific sequential column,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19720481/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com