php - Blade中非对象的Laravel数据库集合属性
问题描述
我在 Blade 组件中循环遍历 Laravel 集合时遇到问题。我得到的错误如下。
试图获取非对象的属性“名称”。
首先,我查询数据库以获取包含其子项的类别列表。
ContentCategory::with('children')
->whereNull('parent_id')
->orderby('name')
->get();
我有一个显示 Select2 下拉列表的 Laravel Blade 组件。
<x-select2 name="user_categories" :list="$user_categories">
<x-slot name="label">
@cruds(user.fields.user_categories.text)
</x-slot>
<x-slot name="helper">
@cruds(user.fields.user_categories.helper)
</x-slot>
<x-slot name="select_all">
@globals(select_all)
</x-slot>
<x-slot name="deselect_all">
@globals(deselect_all)
</x-slot>
</x-select2>
当我遍历集合并尝试访问集合的属性时,我得到一个未定义的属性。
@foreach($list as $parent)
<option value="{{ $parent->id }}" >{{ $parent->name }}</option>
@if (isset($parent->children) && $p->children->count())
@foreach($parent->children as $children_id => $children_title)
<option value="{{ $children_id }}" {{ $isSelected($children_id) ?
'selected="selected"' : '' }}>{{ $children_title }}</option>
@endforeach
@endif
@endforeach
错误如下。
ErrorException 试图获取非对象的属性“id”(查看:/var/www/html/trybz/resources/views/components/select2.blade.php)
解决方案
推荐阅读
- c - C 中结构、位域的 Scanf 输入
- python - 如何从 Dataframe 图中切换线的可见性?
- sql - 查询以选择每小时最新的员工条目
- react-native - 如何更改平面列表末尾的按钮
- kotlin - 无法使用来自 kotlin.time 的 Duration.seconds 方法
- json - MongoDB合并结构
- c# - 如何在单独的 DTO 程序集中使用本地化和数据注释(Asp.net Core Web Api)
- flutter - 如何设计一个顶部为矩形,底部为半圆形的按钮
- javascript - 插入数字并在其后调整所有数字的最佳方法
- swift - SwiftUI - LazyVGrid 间距