【发布时间】:2016-04-21 16:34:59
【问题描述】:
您好,在我的 laravel 应用程序中,我有一个函数可以在客户完成交易时生成唯一的收据代码。
这是代码的格式: 1. 4 位商店标识符,例如。 ABCD 2. 购买物品的类型或类别。例如。 E 表示电子产品,T 表示玩具 3.特殊的秘密两位数字代码,例如。可以在 01 和 10 之间。 4. 非常短格式的日期。例如。 31J16 表示 2016 年 1 月 31 日 5. 客户用于支持问题或退货的四位数代码。例如。 3267。这是随机生成的。
所以示例如下所示:ABCDT0131J163267 总长度为 16 个字符。
现在我想做的是每次生成代码时确保它在我的数据库中不存在,如果是,那么它应该生成一个新的,依此类推,直到它产生一个唯一的代码。
现在我的问题是获得一个高效的解决方案,它不会像我打算做的那样生成独特的代码,最终不会循环很多次。
【问题讨论】:
-
你有什么问题?我们不会为您编写代码。
-
谢谢您,先生,我知道这一点。如前所述,我的问题是一种有效执行此操作的方法,同时避免循环多次并在每个循环上执行数据库调用以检查代码是否存在,如果存在则生成新代码。
-
您将不得不进行数据库调用。它必须循环的机会取决于您的四位数代码的大小以及您平均每天的订单数量。如果您希望它循环更少,请增加该代码的长度,这样您就不太可能发生冲突。
标签: laravel laravel-5.1