【问题标题】:How to store two related arrays into one table row in a database on laravel controller?如何将两个相关数组存储到 laravel 控制器数据库中的一个表行中?
【发布时间】:2019-11-12 00:23:05
【问题描述】:

我通过 Ajax 将我的 formData 对象传递给 laravel 控制器,该控制器具有“pic[]”,其中包含一组上传的图像,以及“desc[]”,其中包含与每个图像的相应索引相关的描述性文本数组在 pic[] 数组上。

通常,当我想将其插入数据库时​​,我会这样做

if ($request->hasFile('pic')) {
        foreach($request->pic as $p) 
        {  
            $myRow = tableName::create([
                'picture' => $p
            ]);
        };
    };

但是现在我想将图片描述插入到我刚刚创建的同一行中,嵌套循环肯定行不通,而且我不知道如何使用 desc 数组的双循环来做到这一点。

【问题讨论】:

    标签: arrays database laravel


    【解决方案1】:

    按照此代码使用 ajax 在数据库中插入图像

        foreach($request->pic as $index => $p) 
        {  
            $myRow = tableName::create([
                'picture'     => $p,
                'description' => $request->desc[$index] // also try $request->get('desc.' .$index)
            ]);
        };
    

    希望对你有帮助。

    【讨论】:

      【解决方案2】:

      如果你有desc[] like:[0 => 'First', 1 => 'Second', ...],如果等于picture的索引,你可以访问描述的index

      foreach($request->pic as $index => $p) 
              {  
                  $myRow = tableName::create([
                      'picture'     => $p,
                      'description' => $request->desc[$index] // also try $request->get('desc.' .$index)
                  ]);
              };
      

      希望对您有所帮助。祝你好运。

      【讨论】:

      • 我不确定我的 desc[],因为我从输入文本中附加了它,我会检查一下
      • 上传您的dd($request->all()) 并展开您的所有数据。
      猜你喜欢
      • 1970-01-01
      • 2021-08-29
      • 1970-01-01
      • 2016-10-06
      • 2016-10-06
      • 2019-04-23
      • 2019-08-27
      • 2019-11-12
      • 2023-04-09
      相关资源
      最近更新 更多