laravel - 为什么 Laravel 跳过第二个 Foreach()
问题描述
我有一个简单的功能,但是当我调试时,我发现第二个 Foreach() 每次都被跳过:
这是我的代码:
foreach ($request->option as $option){
$option = $product->option()->create([
'name'=>$option['name'],
]);
foreach($option['variant'] as $variant) {
dd('variantSection');
$option->variant()->create([
'name'=>$variant
]);
}
}
dd('great');
在这种情况下,我认为它应该打印“variantSection”,但我得到“很棒”。
解决方案
不确定,因为没有提供样本数据,但您正在覆盖该$option
变量。尝试重命名它:
foreach ($request->option as $requestOption){
$option = $product->option()->create([
'name'=>$requestOption['name'],
]);
foreach($requestOption['variant'] as $variant) {
dd('variantSection');
$option->variant()->create([
'name'=>$variant
]);
}
}
dd('great');
推荐阅读
- binary-tree - Racket:给定卖家名称,以二叉树的形式打印销售产品的结果
- python - OpenCV - 使用多个网络摄像机进行运动捕捉
- css - Bootstrap 页脚覆盖正文内容
- aws-lambda - 是否可以在 lambda_handler 中包含 connect() 以便在使用后关闭连接?
- utf-8 - 锈打印!在某些情况下打印奇怪的字符
- function - (SICP) 函数和过程有什么区别?
- html - 是否可以选择共享同一 Css 课程的孩子,而不知道前面的课程?
- google-cloud-platform - 使用上一个修订版中的映像进行 Cloud Run 部署
- node.js - 如何使用 post 方法从前端接收文件并将其上传到谷歌云?
- java - 为什么通过 docker-compose 启动 rabbit 时出现连接被拒绝错误?