【发布时间】:2020-05-14 23:24:13
【问题描述】:
我需要在刀片视图中显示以逗号分隔的过滤集合中的类别标签列表。
代码如下所示
{{$data->categories->filter(function ($value) {return $value->type_id == 1;})->pluck(['label'])->toArray()}};
这个错误是当我使用toArray()
htmlspecialchars() 期望参数 1 是字符串,给定数组
我需要数组中的结果与 implode 一起使用以显示以逗号分隔的列表
{{implode(', ',$data->categories->filter(function ($value) {return $value->type_id == 1;})->pluck(['label'])->toArray())}};
要显示的预期结果:
Car, Truck, Cheap
集合
[{"id":80,"type_id":1,"label":"Car","pivot":{"data_id":6060,"category_id":80}},
{"id":45,"type_id":1,"label":"Truck","pivot":{"data_id":6060,"category_id":45}},
{"id":75,"type_id":8,"label":"Cheap","pivot":{"data_id":6060,"category_id":75}}]
如果我不使用 filter / where 集合,我可以使用 toArray()
知道为什么使用过滤器/where 集合会导致 toArray() 错误吗?
【问题讨论】:
-
我认为问题不在于这段代码。您是否在刀片视图中的某处使用此结果?
-
是的,它在刀片视图中
-
您是否尝试将数组直接输出到视图中的某个位置?你能把这段代码贴出来吗?
-
我正在尝试显示 implode(....) 结果,因此列表将用逗号分隔。代码在问题中
-
您是否尝试过在没有
implode的情况下调试集合的输出?
标签: arrays laravel laravel-5 collections laravel-collection