2017-02-10 2 views
0

に連想配列の配列を渡す:Laravel - 私はlaravel 5.2で部分的に連想配列の配列を含む連想配列を通過しようとしている部分

 @include('admin.partials.context-menu', [ 
      'items' => [ 
       ['test' => 'test'] 
      ], 
      'icon' => 'more_vert' 
     ]) 

及び内部配列項目にアクセスしよう配列:

<ul class="context-menu"> 
    @foreach($items as $item) 
     <li class="context-menu-item"> 
      {{ $item['test'] }} 
     </li> 
    @endforeach 
</ul> 

しかし、私はそれをしようとすると、不正な文字列オフセット 'テスト'がエラーになります。 typeof演算が、アクセスしたときに、予期しない振る舞い、それはオブジェクトであると言う代わりに - 連想配列のオブジェクトを渡す を開発するために作品を、非常に直感的 - インデックス付きの配列「アイテム」を使用して :私がこれまで試してみました

物事値は、それはオブジェクトではないと言います。

私は部分的に物事をのvar_dumpことができ、期待通りにすべての値がありますが、私は

{{ $item['test'] }} 

のようにブレード を経由して、それらの値にアクセスしようとしたときにのみ問題が発生するあなたの助けをありがとう:)

+0

やってみは、このすべてのコードです。例えば各 '$ item'にキー' test'が存在しますか? – Luke

答えて

0

私が考えることのできるのは、アイテムの1つにキーがないことです。

たとえば、次のコードで同じエラーが発生することがあります。

<?php 

$array = [ 
    'items' => [ 
     ['test' => 'test'], 
     ['key' => 'test2'] 
    ] 
]; 

foreach ($array['items'] as $item) { 
    var_dump($item['test']); 
} 

@foreach ($items as $key => $value) // yes this works in blade 
    {{ $item[$key] }} 
@endforeach