【问题标题】:Display Json data in laravel在 laravel 中显示 Json 数据
【发布时间】:2021-06-01 00:26:31
【问题描述】:

如何从 laravel 中的产品 json 数据类型中获取和显示每个元素。

"category" => accessories 
"product" => "["eyewear", "watches", "shoes"]"

数据已正确保存

 $casts = [
    'product' => 'array'
];

当我尝试显示时,我得到了类似于 show down 的列表 分类:
配件|产品:[“眼镜”、“手表”、“鞋”]

是否有可能得到类似的结果 类别:配件 |产品:眼镜***** 类别:配件 |产品:手表***** 类别:配件 |产品:鞋子*****

感谢您的帮助

【问题讨论】:

    标签: json laravel


    【解决方案1】:

    如果 JSON 确实已成功转换为数组(在本例中为一维数组),您可以像通常使用任何其他数组一样获取每个索引的值:

    {{ $product[0] }}
    

    如果你想从中创建某种列表,你可以使用 foreach 循环遍历它:

    @foreach($product as $p)
        {{ "Category: " . $category }}
        {{ "Product: " . $p }}
    @endforeach
    

    如果我理解正确,您已经在 $items 中存储了一些查询结果,其中存储了 category_idproduct 的值(根据您的原始帖子,我假设您已经将 JSON 转换为数组在模型中使用 $casts 属性,或者您可以使用 PHP 函数 json_decode())。如果你想循环通过$items,它可能看起来像这样:

    @foreach($items as $item)
        @foreach($item['product'] as $product)
            {{ "Category: ".$item['category_id']." | Product: ".$product }}
            </br>
        @endforeach
    @endforeach
    

    上面的代码应该输出如下内容:

    Category: 1 | Product: eyewear
    Category: 1 | Product: watches
    Category: 1 | Product: shoes
    Category: 2 | Product: a
    Category: 2 | Product: b
    Category: 2 | Product: c
    

    【讨论】:

    • 从数据库中获取数据,如何转换为数组并显示,我真的是 laravel 的新手。要显示,我使用如下 foreach : @foreach($product as $prod) {{$items->category_id }} {{$items->product }} @endforeach 我想显示列表中每个产品的每个类别。
    • 我刚刚编辑了答案。希望我能理解您要正确执行的操作。
    • 另外,如果我可以这样说,我认为您不应该在数据库中使用 JSON,除非您绝对必须这样做。如果您有一个单独的 products 表使用外键引用该类别,那么使用起来会容易得多。
    • 确实我有 2 个表类别和产品。我按类别在 json 中注册产品列表。 Category(category_id) 是产品表中的外键。我不想每次都为类别保存单个产品,太多的产品无法保存我使用 json 的原因,如果有其他解决方案请告诉我。 “如何在此处轻松添加代码以显示我的控制器和路由?”。我之前的代码中的错误抱歉***@foreach($product as $prod) {{$prod->category_id }} {{$prod->product }} @endforeach)***每个数据都来自产品表跨度>
    • 如果您编辑原始帖子,您可以发布代码,或者如果您要求,则将其作为答案发布。此外,通常最好将每个产品都放入数据库中自己的记录中。这种方式效率更高,由于 Laravel,几乎不需要额外的工作,并且还可以在将来需要时更轻松地扩展数据库。
    猜你喜欢
    • 1970-01-01
    • 2014-04-14
    • 2017-01-26
    • 2013-12-07
    • 2018-10-01
    • 1970-01-01
    • 2019-07-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多