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

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

附言 1  ·  2个月前

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

《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
郝合心
最佳答案

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

2个月前
讨论数量: 6

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

2个月前
郝合心

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

2个月前
青风百里

2楼给出了答案

2个月前

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

2个月前
郝合心

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

2个月前

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

2个月前

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!