【问题标题】: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 变量。尝试使用不同的名称

标签: laravel laravel-8


【解决方案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');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-21
    • 1970-01-01
    • 1970-01-01
    • 2011-08-30
    相关资源
    最近更新 更多