Laravel 如何将视图数组从控制器传递到视图
我知道这很简单。。但我想我遗漏了一些东西,我得到了这个错误,我在这里发布之前尝试了一切Laravel 如何将视图数组从控制器传递到视图,laravel,laravel-4,Laravel,Laravel 4,我知道这很简单。。但我想我遗漏了一些东西,我得到了这个错误,我在这里发布之前尝试了一切 Trying to get property of non-object 控制器 如果我将代码转储,这就是我得到的 瓦鲁垃圾场 看法 这是我在页面中查看数组的方式 @foreach($data as $server) <td>{{ $server['srv_id'] }}</td> <td>{{ $server['srv_name'] }}</td
Trying to get property of non-object
控制器
如果我将代码转储,这就是我得到的
瓦鲁垃圾场
看法
这是我在页面中查看数组的方式
@foreach($data as $server)
<td>{{ $server['srv_id'] }}</td>
<td>{{ $server['srv_name'] }}</td>
获取非对象错误消息的Trying to get属性的原因是$temp中的数据是一个数组,而您试图将其作为对象访问。试试这个
$temp = Servers::all();
$data = array();
foreach ($temp as $key) {
$data[] = array(
'srv_id' => $key['srv_id'],
'srv_name' => $key['srv_name'],
'srv_status' => $key['srv_status'],
'srv_files' => $key['srv_files'],
'srv_disk' => $this->ConvertBytes( $key['srv_disk'] ),
'srv_ip' => $key['srv_ip']
);
}
可以通过以下方式访问阵列:
$foo['bar'];
$foo->bar;
虽然可以像这样访问对象:
$foo['bar'];
$foo->bar;
既然可以只做$servers=servers::all;,为什么还要经历整个循环呢;,将compact'servers'传递给视图,然后将@foreach$servers作为$server执行@endforeach?更短,更易于阅读和维护:当然我可以这样做,但是,我将一个元素包装在控制器中的函数中。。我不能在我的视图中调用该函数,我认为该方法可能属于模型。没关系,至少你把问题解决了