我的数据库中有5列。以下是列的名称:
我想将这些列组合起来,以便能够在我看来制作一个foreach。
我试过了:
$promos = Building::select('promo1', 'promo2', 'promo3', 'promo4', 'promo5')->where('id', $card->id)->get()->toArray();
在我看来:
@foreach($promos as $promo)
<span>{{ $promo['promo1'] }}</span>
@endforeach
但我的foreach只有一个结果。而不是5.我只能逐个选择($ promo [&#39; promo1&#39;],$ promo [&#39; promo2&#39;])所以做一个foreach无济于事
有办法吗?非常感谢你
答案 0 :(得分:0)
当您使用get()
方法you're getting a collection时。使用find()
方法获取对象而不是集合:
$promos = Building::select('promo1', 'promo2', 'promo3', 'promo4', 'promo5')->find($card->id)->toArray();
然后你就可以迭代促销:
@foreach ($promos as $promo)
<span>{{ $promo }}</span>
@endforeach
答案 1 :(得分:0)
首先获取构建对象
$building = Building::select('promo1', 'promo2', 'promo3', 'promo4', 'promo5')->findOrFail($card->id);
然后循环播放促销
@foreach ($building->getAttributes() as $key => $value)
<span>{{ $key }} : {{ $value }}</span>
@endforeach
注意:在这里使用$key
是可选的