Laravel访问数组数据

时间:2018-11-26 16:15:11

标签: php arrays laravel

在laravel中,我当前正在从控制器soap_ssl_client_context(...) 转储一个数组,它以以下格式正确转储到页面上:

dd($totals)

但是,当我在表数据行中访问它们时,表中什么都没有显示,这让我认为我可能没有正确访问它?

array:1 [▼
  0 => array:3 [▼
    "CURRENT" => "117"
    "PRIOR" => "90"
    "FULL" => "95"
  ]
]

这以前是可行的,但我更改了查询,此查询已稍微改变了数组,因此也许我需要以不同的方式访问数据。我应该如何改变它,以便laravel可以正确显示数组数据。

2 个答案:

答案 0 :(得分:2)

您有一个数组数组,您将需要使用预定义的偏移量来访问值:

@foreach($totals as $total)
    <td>{{ $total['CURRENT']}}</td>
    <td>{{ $total['PRIOR']}}</td>
    <td>{{ $total['FULL']}}</td>
@endforeach

答案 1 :(得分:0)

当您在Laravel中编写查询以使用EloquentQuery Builder获取(可能)多个项目时,它将返回CollectionIlluminate\Support\Collection)类的实例包含结果,其中每个结果都是PHP stdClass对象的实例(如果使用Query Builder)或Model的实例(使用Eloquent时)。如您在documentation中看到的:

  

检索结果

     

get方法返回一个Illuminate\Support\Collection,其中包含   结果,其中每个结果都是PHP stdClass对象的实例。   您可以通过以下方式访问各列的值:   对象的属性:

foreach ($users as $user) {
    echo $user->name;
}

这就是为什么您可以通过以下方式访问元素的属性的原因:$object->property

我猜您在查询中正在修改输出以适合您的需求,因此很可能您修改了结果并将集合转换为关联数组。使用compact()将结果返回到视图时,也可以完成此操作,这还将结果转换为关联数组:

// something like this
$results = App\MyCoolModel::take(3)->get()->toArray();
// or this
return view('my_cool_view', compact($results));

假设现在是关联数组的简单 array (如您的dd()所示),则可以按@adam所示的方式访问属性:< / p>

@foreach($totals as $total)
    <td>{{ $total['CURRENT']}}</td>
    <td>{{ $total['PRIOR']}}</td>
    <td>{{ $total['FULL']}}</td>
@endforeach
相关问题