为啥 Laravel 跳过第二个 Foreach()
Posted
技术标签:
【中文标题】为啥 Laravel 跳过第二个 Foreach()【英文标题】:Why Laravel skip the second Foreach()为什么 Laravel 跳过第二个 Foreach() 【发布时间】:2021-10-17 10:49:00 【问题描述】:我有一个简单的功能,但是当我调试时,我发现第二个 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 变量。尝试使用不同的名称 【参考方案1】:不确定,因为没有提供示例数据,但您正在覆盖 $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');
【讨论】:
以上是关于为啥 Laravel 跳过第二个 Foreach()的主要内容,如果未能解决你的问题,请参考以下文章
OracleDataReader reader.Read() 从第二个记录行开始读取行,跳过第一行记录