laravel - Laravel 嵌套 Foreach 的常见问题视图试图获取非对象的属性
问题描述
我的常见问题解答视图有问题。我想按如下类别显示常见问题解答:
类别1
常见问题解答1
常见问题2
常见问题3
类别2
常见问题解答1
常见问题2
常见问题3
这是我的控制器
public function faq()
{
$faq_category_vendor = DB::table('faq_categories')->where('categories_for','1')->get();
$faq_vendor = DB::table('faqs')
->join('faq_categories', 'faq_categories.id', '=', 'faqs.category')
->select('faqs.*','faq_categories.*', 'faq_categories.id as idcategory', 'faqs.id as id')
->where('faq_for','1')->get();
return view('owner.faq',['faq_category_vendor' => $faq_category_vendor,'faq_vendor' => $faq_vendor]);
}
这是我的观点:
@foreach($faq_category_vendor as $item)
For ({{$item->name}}) :
@foreach($faq_vendor as $item2)
@if ($item->id == $item2->category)
- {{$item2->ask}} : {{$item2->answer}}<br>
@else
@endif
@endforeach
<br>
@endforeach
输出是:
Facade\Ignition\Exceptions\ViewException
Trying to get property 'category' of non-object (View: C:\xampp\htdocs\weddinc\weddinc\weddinc_beta\resources\views\owner\faq.blade.php)
谁能帮我?
解决方案
检查您的 faq_categories 是否在 faqs 中有 id,因为如果没有,您将得到空加入,所以尝试获取
$item2->category
会抛出异常。我的建议是在 .blade 中做这样的事情
@php
try{
$testData=$item2->category;
} throw (\Exception $e) {
dd($item2);
}
@endphp
这将为您提供刀片中的 dd ,因此您将查看所有记录是否都有连接
推荐阅读
- tensorflow-serving - tf-serving 异常退出没有错误信息
- c# - 意外的参数OutOfRangeException
- javascript - 当内存可用时,NodeJS exec 抛出 ENOMEM
- c - 如何在进程之间发送信号?
- python - “!函数‘cv::CascadeClassifier::detectMultiScale’中的empty()”
- sqlite - 用另一个表的总和更新表中的列
- deep-learning - 深度学习:去除批规范和激活会减慢训练速度?
- typescript - Vue & Typescript:找不到图像导入
- user-interface - HERE 的地图图像 API 上的 UI 控件?
- django - Django在chrome中更改选项卡的颜色