【发布时间】:2018-03-07 13:16:53
【问题描述】:
我是 Laravel 的新手,我正在尝试从控制器显示数据以供查看。我能够轻松地显示来自@foreach( $item->name, $item->address, etc) 第一级的数据。但是我很难通过 Laravel 刀片约定访问“subscriber_subscription”的孩子。我尝试通过以下代码访问它:
@foreach ($items as $item)
...
@foreach($item->subscriber_subscription as $subs)
...
...
@endforeach
...
...
@endforeach
使用的JSON数据是:
[
{
"id":1,
"name":"Jollibee",
"address":"31st cor. 9th Strata bldg. Ortigas Ave. Pasig City, 600",
"contact":"87000",
"email":"admin@jollibee.com.ph",
"created_at":"2017-09-17 01:04:11",
"updated_at":"2017-09-17 01:04:12",
"subscriber_code":"jollibee",
"subscriber_subscription":[
{
"id":1,
"subscriber_id":1,
"subscription_id":1,
"start_date":"2017-09-17 01:35:27",
"end_date":"2018-09-17 01:35:27",
"created_at":"2017-09-17 01:35:23",
"updated_at":"2017-09-17 01:35:23"
},
{
"id":6,
"subscriber_id":1,
"subscription_id":1,
"start_date":"2017-10-17 01:35:27",
"end_date":"2018-10-17 01:35:27",
"created_at":"2017-09-17 01:35:23",
"updated_at":"2017-09-17 01:35:23"
}
]
},
{
"id":2,
"name":"Bench",
"address":"2207 Tektite Bldg. Ortigas Ave. Pasig City, 1600",
"contact":"+639171234567",
"email":"admin@benchtm.com.ph",
"created_at":"2017-09-17 01:47:10",
"updated_at":"2017-09-17 01:47:11",
"subscriber_code":"bench",
"subscriber_subscription":[
{
"id":4,
"subscriber_id":2,
"subscription_id":1,
"start_date":"2017-09-17 14:19:15",
"end_date":"2018-09-17 14:19:16",
"created_at":"2017-09-17 14:19:20",
"updated_at":"2017-09-17 14:19:20"
},
{
"id":5,
"subscriber_id":2,
"subscription_id":2,
"start_date":"2017-09-17 14:19:15",
"end_date":"2018-09-17 14:19:16",
"created_at":"2017-09-17 14:19:20",
"updated_at":"2017-09-17 14:19:20"
}
]
}
]
我收到此错误:Invalid argument supplied for foreach()
任何帮助将不胜感激。和平:-)
谢谢
【问题讨论】:
-
你需要在
for loopjson_decode($items)之前解码你的json -
您可以尝试将元素作为数组而不是像这样的对象访问
@foreach($item['subscriber_subscription'] -
@PandhiBhaumik 他在
for中使用了 json 格式的数据,所以这些都无济于事 -
我认为他只向我们展示了 JSON 数据,但他使用的是模型,因为我可以看到属性。
-
@PandhiBhaumik - 尝试了这个 @foreach($item['subscriber_subscription'] as $subs) 但它仍然没有工作