2017-12-11 5 views
1

私のデータベースには5つの列があります。ここでは列の名前です:私が作ることができるように、これらの列を結合したいと思います複数の列を組み合わせてforeachを実行する

  • promo1
  • プロモーション2
  • プロモーション3
  • promo4
  • promo5

私の見解では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つではなく、1つずつ選択できます($ promo ['promo1']、$ promo ['promo2'])。foreachを実行すると助けになりません

これを行う方法はありますか?どうもありがとうございます

答えて

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 
0

まず建物オブジェクトを取得

$building = Building::select('promo1', 'promo2', 'promo3', 'promo4', 'promo5')->findOrFail($card->id); 

その後、プロモーションをループする

@foreach ($building->getAttributes() as $key => $value) 
    <span>{{ $key }} : {{ $value }}</span> 
@endforeach 

注:こちらは$keyを使用しています。

関連する問題