【发布时间】:2017-06-24 02:24:57
【问题描述】:
下面是控制器返回给视图的Json
JSON 数据
[
{
"id":2,
"firstname":"abc",
"lastname":"def",
"email":"abc@ab.ac.uk",
"role":1,
"university":1,
"school_dept":5,
"year":2,
"photo":"URL",
"bio":"ObxBJIDO6IfOU0DIw8a5",
"search_status":"available",
"created_at":null,
"updated_at":null,
"languages":[
{
"id":3,
"language":"Spanish",
"pivot":{
"user_id":2,
"language_id":3,
"type":"native"
}
},
{
"id":4,
"language":"Greek",
"pivot":{
"user_id":2,
"language_id":4,
"type":"learn"
}
}
],
"hobbies":[
{
"id":2,
"hobby":"Basketball",
"pivot":{
"user_id":2,
"hobbie_id":2
}
},
{
"id":3,
"hobby":"Skiing",
"pivot":{
"user_id":2,
"hobbie_id":3
}
},
{
"id":4,
"hobby":"Running",
"pivot":{
"user_id":2,
"hobbie_id":4
}
}
],
"universities":{
"id":1,
"university":"some Uni"
},
"years":{
"id":2,
"year":"2nd"
},
"departments":{
"id":5,
"department":"Languages and Intercultural Studies"
}
}
]
我能够提取 id、名字、姓氏、电子邮件、... 一级数据
@foreach($users as $user)
<tr>
<td>{{$user->firstname}} </td>
<td>{{$user->lastname}} </td>
<td>{{$user->email}} </td>
<td>{{$user->photo}} </td>
<td>{{$user->bio}} </td>
<td></td>
</tr>
@endforeach
此外,系、大学和年份二级嵌套数据
<td>{{$user['universities']->university}} </td>
<td>{{$user['departments']->department}} </td>
<td>{{$user['languages']->language}} </td>
<td>{{$user['years']->year}} </td>
但是如何提取第三级嵌套数据以及它的一种数组。
例如:爱好和语言。
我想显示以下语言:learn : English 和 teach: French 这必须通过检查 type 字段是在语言数组中是 learn 还是教称为类型的字段。它告诉用户是否想学习特定语言或教授该语言。所有用户都学习和教授这两种类型。
此外,对于爱好列表,例如:hobby1、hobby2、hobby3、...
我想展示这种最简洁有效的方式
以下是我试图显示 3 级数据的技术,但如果条件似乎不起作用。我需要根据类型获取语言。
@foreach($user->languages as $langs)
@if($langs['pivot']->type =='native')
<td>{{$langs['pivot']->language_id}}</td>
@else
<td>{{$langs['pivot']->language_id}}</td>
@endif
@endforeach
【问题讨论】:
标签: php json laravel-5 laravel-5.3