自己给 products 的 title 栏添加了 unique 限制,结果执行 Seeder 出错

出错后seeder被中止,查看products表,只添加了十几条数据。
如何让seeder碰到同名title无法添加的情况下跳过,继续添加至添加满30条?
虽然可以给title的起名添加随机数以减少重名率。

Long2Ge
附言 1  ·  5年前

ProductFactory.php文件在$faker->word后面添加了rand,但不知道seeder文件怎么弄。

《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案

'title' => $faker->unique()->word,
这样不行吗

5年前 评论
讨论数量: 6
long2ge

不希望去掉title的unique限制。
为了防止两位管理员添加同名的product。

5年前 评论

'title' => $faker->unique()->word,
这样不行吗

5年前 评论
long2ge

谢谢。
@郝合心 那又如何确保同一个产品名下的sku互不同名?
例如图中的sku有4个title为et的,但红框中的两个et的product_id是相同的。
希望随机生成的sku不要出现红框中的情况。file
不同产品的sku允许出现同名。

5年前 评论

@long2ge ProductSku 的 factory 文件也一样设置
'title' => $faker->unique()->word,
让所有的 title 都唯一

5年前 评论
long2ge

@郝合心 我是希望product的title互不同名,不同product的sku的title可以同名,但同一product的sku的title互不同名。

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!