如何在 laravel blade 视图上定义变量数组?

How can I define variable array on the laravel blade view?

我这样试:

<div class="media-body">
    @foreach($categories as $category)
    @php $category[] = $category->name @endphp
    @endforeach   
    {{ implode(",", $category) }}
</div>

如果执行代码,存在错误:

undefine variable category

我该如何解决?

您必须在 <?php ... ?> 块中声明一个数组,然后在 {{blade}} 块中使用相同的数组。

您可以简单地使用 Laravel Collection

{{ $categories->pluck('name')->implode(', ') }}

或者,如果您想在 foreach 中执行此操作,那么

@php ($names = [])

@foreach ($categories as $category)
    @php ($names[] = $category->name)
@endforeach

{{ implode(', ', $names) }}