【问题标题】:Blade foreach cast output to an objectBlade foreach 将输出转换为对象
【发布时间】:2017-04-24 18:36:54
【问题描述】:

我正试图弄清楚如何在刀片文件中提供我的数据输出,Laravel 外观;

点赞$data->name

但我无法将输出转换为对象。我想我必须先制作一个数据数组,然后才能在 foreach 中正确循环它,但这感觉不是正确的方法。

我对 Laravel 比较陌生,我想以一种好的方式做到这一点,有人能指出我正确的方向吗?提前致谢

控制器:

$data = collect($this->api->organization->index())->toArray();

return View::make('pages.organization.index', array('data' => $data[0]));

查看:

@foreach($data as ((object)$organization))
    {{ $organization->name }}
@endforeach

我知道这行不通,但我认为它有点说明了我的问题。

编辑

我没有意识到$data = collect($this->api->organization->index()); 正在返回一个包含所有数据数组的数组,因为我没有在返回中这样命名它:

return (object)['all' => $data];

添加all 后,我可以按照自己的意愿引用视图中的代码。我知道这不是一个非常详细的答案,如果您遇到相同的问题消息我会编辑答案。

【问题讨论】:

  • $data = collect($this->api->organization->index()); 将给出我猜的对象数组的集合。

标签: php laravel blade


【解决方案1】:

对象:

$data = collect($this->api->organization->index());
@foreach($data as $organization))
    {{ $organization->name }}
@endforeach

数组:

$data = collect($this->api->organization->index())->toArray();
@foreach($data as $organization))
    {{ $organization['name'] }}
@endforeach

【讨论】:

  • 这让我意识到我需要将对象命名为 return (object)['obj' => $data]; 并像 ..->index()->obj 一样调用它,这样它就可以工作了!
猜你喜欢
  • 2019-06-26
  • 2018-01-31
  • 1970-01-01
  • 1970-01-01
  • 2021-08-18
  • 1970-01-01
  • 2013-01-15
  • 1970-01-01
相关资源
最近更新 更多