laravel - 渲染与使用紧凑的刀片中的急切加载数据有很多关系会出错
问题描述
我在刀片视图中使用@foreach 将这种格式的数据作为单个数据对象 -
{
"id":55,
"role_id":2,
"first_name":"Ashiqur",
"avatar":"users\/default.png",
"created_at":"2019-11-13 09:29:25",
"updated_at":"2019-11-13 09:29:45",
"language_id":1,
"level_id":1,
"status":0,
"phone":"8801939622736487",
"address_id":1,
"last_name":"Rahman",
"level":{
"id":1,
"name":"Standard",
"created_at":"2019-10-08 05:30:00",
"updated_at":"2019-11-07 10:19:45",
"document_type":[
{
"id":1,
"name":"Document 1",
"created_at":"2019-10-08 05:51:31",
"updated_at":"2019-10-08 05:51:31",
"user_level_id":1,
"doc_list":{
"id":2,
"user_id":55,
"name":"Doc",
"doc":"phpZAdbQp.jpg",
"created_at":"2019-11-13 11:09:31",
"updated_at":"2019-11-13 11:09:31",
"doc_type_id":1,
"doc_status_id":11,
"doc_check":{
"name":null,
"status_id":9,
"doc_id":2,
"status":{
"id":9,
"name":"Rejected",
"created_at":"2019-10-28 11:32:38",
"updated_at":"2019-10-28 11:32:38"
}
},
"status":{
"id":11,
"name":"Not Verified",
"created_at":"2019-11-08 10:38:59",
"updated_at":"2019-11-08 10:38:59"
}
}
},
{
"id":2,
"name":"Photo",
"created_at":"2019-10-08 06:00:18",
"updated_at":"2019-10-08 06:00:18",
"user_level_id":1,
"doc_list":{
"id":9,
"user_id":55,
"name":"Photo",
"doc":"phpXOuA5o.jpg",
"created_at":"2019-11-14 05:17:46",
"updated_at":"2019-11-14 05:17:46",
"doc_type_id":2,
"doc_status_id":11,
"doc_check":{
"name":null,
"status_id":9,
"doc_id":9,
"status":{
"id":9,
"name":"Rejected",
"created_at":"2019-10-28 11:32:38",
"updated_at":"2019-10-28 11:32:38"
}
},
"status":{
"id":11,
"name":"Not Verified",
"created_at":"2019-11-08 10:38:59",
"updated_at":"2019-11-08 10:38:59"
}
}
}
]
}
}
我正在使用紧凑功能从控制器获取数据以查看。
我的控制器 -
$allDatas = User::where('status', 0)
->with('level', 'level.documentType', 'level.documentType.doc_list', 'level.documentType.doc_list.docCheck', 'level.documentType.doc_list.docCheck.status', 'level.documentType.doc_list.status')
->get();
return view('doc/browse', compact('allDatas'));
当我想渲染 document_type 的数组时,我得到了这个错误 -
试图获取非对象的属性“documentType”
@foreach($data->level->documentType as $doc_type)
{!!$doc_type->name!!}
@endforeach
如何将这些数据呈现到我的刀片视图中?
解决方案
试一试。
@if(isset($data->level) && isset($data->level->documentType))
@foreach($data->level->documentType as $doc_type)
{!!$doc_type->name!!}
@endforeach
@endif
此外,正如 lagbox 在第一条评论中指出的那样,可能存在用户可能没有级别关系的情况。
推荐阅读
- underscore.js - 下划线中 groupBy 的 lodash 等价物
- java - 服务器进入无限循环并给出 GOOGLE_APPLICATION_CREDENTIALS 异常
- python - 将预言家预测反馈到数据集 - Python
- visual-studio-extensions - VS 2019 扩展以在项目加载时运行资源生成器
- java - Android & Java:String.getBytes() 无法正确解析转义字符
- dremio - 如何在dremio中添加新的数据源
- php - 如何回显一个对象?
- php - 在 result_array() 中解码数据库结果中存储的 JSON 值
- c# - 在游戏对象中找到具有名称和组件的游戏对象?
- javascript - 相邻的 JSX 元素必须被包裹在一个封闭标签 React Native 中