Laravel:view->传递一个对象

时间:2018-01-21 09:05:31

标签: php arrays laravel object response

$somedata = Indicator::all();
$indicators = [];
// ... (re-structure the data; rows to columns)
$indicators[] = ['a'=>'2016', 'b'=>'2017', 'c'=>'2018'];
$indicators[] = ['a'=>'1232', 'b'=>'3242', 'c'=>'5467'];
$indicators[] = ['a'=>'1232', 'b'=>'3242', 'c'=>'5467'];
$indicators[] = ['a'=>'closed', 'b'=>'closed', 'c'=>'open'];> 

// ??? How to form a valid object to send ???
return view('indicators.index')->with(['indicators'=> $indicators]);

我选择数据。我改变了显示它的结构;但是找不到正确的结构然后传递给我的回复。

视图抛出错误"尝试获取非对象的属性(查看:"

(我查看了Indicator :: all()的转储;并想知道我是否有正确/错误的方法)

// noob

2 个答案:

答案 0 :(得分:0)

您正在返回一个数组,我想您可能正在尝试使用对象表示法访问索引,如:

$val->prop

应该是:

$val['prop']

Indicator::all()会返回您在视图中未使用的对象集合。

另外,Laravel集合有一些方便的辅助函数来处理结果集。您可能感兴趣:

https://laravel.com/docs/5.5/collections#method-map

答案 1 :(得分:0)

由于-1是一个数组,因此您必须使用$indicators代替['']来访问其数据。