Php 如何在laravel刀片视图上定义变量数组?
我试着这样:Php 如何在laravel刀片视图上定义变量数组?,php,laravel,laravel-5.3,laravel-blade,implode,Php,Laravel,Laravel 5.3,Laravel Blade,Implode,我试着这样: <div class="media-body"> @foreach($categories as $category) @php $category[] = $category->name @endphp @endforeach {{ implode(",", $category) }} </div> @foreach($categories作为$category) @php$category[]=$categ
<div class="media-body">
@foreach($categories as $category)
@php $category[] = $category->name @endphp
@endforeach
{{ implode(",", $category) }}
</div>
@foreach($categories作为$category)
@php$category[]=$category->name@endphp
@endforeach
{{内爆(“,”,$category)}
如果执行了代码,则存在错误:
未定义变量类别
如何解决它?您必须在
块中声明一个数组,然后在{blade}
块中使用相同的数组。您可以简单地使用Laravel集合
{{ $categories->pluck('name')->implode(', ') }}
或者如果你想在foreach做这个
@php ($names = [])
@foreach ($categories as $category)
@php ($names[] = $category->name)
@endforeach
{{ implode(', ', $names) }}
另外,还有Blade的特殊语法:
{{--*/$var='test'/*--}
。然后,您以标准方式使用它:{{$var}
@lessugar,如果它是变量数组,则它不工作它不工作。存在错误:缺少illumb\Database\Eloquent\Model::setAttribute()的参数2…
我这样尝试:@php($category=[])@foreach($categories as$category)@php($category[]=$category->name)@endforeach{{内爆(',',$categority)}
现在它可以工作了。因为before变量数组=foreach的值。两个名字都一样。这就是导致错误的原因。谢谢,您必须在@foreach
loop@smokehill,非常感谢