【问题标题】:Laravel multiple product images uploadLaravel 多张产品图片上传
【发布时间】:2019-12-25 13:31:15
【问题描述】:

我有颜色和图像的关系,

每种产品都有颜色,每种颜色都有图像和图标

这是来自数据库的响应:

[
    {
        "id": 1,
        "name": "1",
        "colors": [
            {
                "id": 1,
                "stocks_id": 1,
                "color_name": "Red",
                "icon": "111.png",
                "images": [
                    {
                        "url": "111-111.png"
                    }
                ]
            },
            {
                "id": 2,
                "stocks_id": 2,
                "color_name": "green",
                "icon": "222.png",
                "images": [
                    {
                        "url": "111-111.png"
                    }
                ]
            }
        ],
    }
]

如何创建 HTML 表单来添加此信息?

以及如何使用控制器发布这些按颜色分组的图像?

【问题讨论】:

  • 在你的表单域中这样使用$array_name['colors']['color_name']
  • @A.ANoman 你能用一个完整的例子来回答吗?
  • 请至少分享您想要的 html 表单...

标签: php html laravel laravel-5 upload


【解决方案1】:
<input type="text" name="id"/>
<input type="text" name="name"/>
<input type="text" name="colors[id][]"/>
<input type="text" name="colors[stocks_id][]"/>
<input type="text" name="colors[color_name][]"/>
<input type="text" name="colors[icon][]"/>
<input type="text" name="colors[images][$n+1][]"/>

在控制器中

$colors= [];
$index= 0;
// colors[id] = [0=>1, 1=>2];
// colors[stocks_id] = [0=>234, 1=>289];

foreach($request['colors'] as $key => $color){ 

    if(!isset($colors[$index])){
       $colors[] = [];
    }

    if(!isset($colors[$index][$key])){
       $colors[$index][$key] = $color[$index];
    }

    $index++;
}

应该有一个循环来迭代颜色,并且会有另一个循环来迭代与该颜色有关的所有图像。

【讨论】:

  • 控制器呢?如何做循环?
  • 我已经更新了答案,你现在可以查看控制器代码了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-05
  • 2018-04-28
  • 1970-01-01
  • 2017-07-27
  • 2021-12-22
  • 2020-03-20
相关资源
最近更新 更多