使用 blade 读取存储在 mysql 中的原始数组

Reading a raw array stored in mysql with blade

我有一些数据存储在 mysql 中,看起来像这样

["1109255736625955df9fbef.jpg","707361535625955dfa0564.jpg","1126563303625955dfa0c5c.jpg"]

我将此数据作为数组存储在名为 product_images 的字段中,该字段包含字符串。

有没有一种方法可以迭代此数据而不首先将其设为 php 数组,而是直接从数据库在 blade 中迭代它?

这行不通

            <div class="row">
            @foreach ($product->product_images as $image)
            <div class="col-3">
            {{$image}}
            </div>
            @endforeach
            </div>

你应该使用 mutators to cast array

产品型号添加:

protected $casts = [
    'product_images' => 'array',
];

从字符串到数组的转换是在后台为您完成的

您的数据以字符串形式存储在数据库中,因此您应该将其转换为数组。方便的方法是在模型中创建 Cast。感谢您在获取时将数据从该列转换为数组,并在存储时转换为 json。

protected array $casts = [
    'product_images' => 'array'
]