尝试获取非对象属性的FAQ视图的Laravel嵌套Foreach
我的常见问题解答视图有问题。我想按以下类别显示常见问题: 类别1尝试获取非对象属性的FAQ视图的Laravel嵌套Foreach,laravel,foreach,nested,Laravel,Foreach,Nested,我的常见问题解答视图有问题。我想按以下类别显示常见问题: 类别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('fa
- 常见问题1
- 常见问题2
- 常见问题3
- 常见问题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
有人能帮我吗?检查您的faq\u类别是否在faq中有id,因为如果没有id,您将获得空加入,因此尝试获取
$item2->category
将抛出异常。我的建议是在。blade中执行类似的操作
@php
try{
$testData=$item2->category;
} throw (\Exception $e) {
dd($item2);
}
@endphp
这将在blade中为您提供dd,这样您将看到所有记录是否都有联接,因此这里有几点可以帮助您解决问题 您的控制器意味着您没有建立关系。在数据之间建立关系将极大地帮助您解决问题;据我所知,faq\u类别和faq之间存在一对多的关系(一个faq\u类别有许多faq) 因此,在您的FAQ类别模型中:
public function faqs()
{
return $this->hasMany('app\faq');
}
在常见问题解答模型中:
public function category()
{
return $this->belongsTo('app\faq_category`);
}
好的,你说你要显示每个类别,然后显示每个类别下的每个FAQ。在控制器中,您可以获得如下所有类别:
$categories=FaqCategory::all()代码>
在刀片中,您可以执行以下操作:
@foreach($categories as $category)
@foreach($category->faqs as $faq)
{{ $faq }}
@endforeach
@enforeach
您是否尝试过在视图中使用$item['category']
?第1行、第2行或第4行?在控制器函数faq()
中,将其放在return
语句dd(faq\u category\u vendor)
之前。然后用dd
@Alex$item2['category']否的输出更新您的问题?但是,为什么它应该是一个数组。@aboubaidillah您注意到数组中没有名为category
的键吗?您正在尝试访问$item2->category
。这就是为什么你会出错的原因。太好了,这对我来说很有效,是什么
@foreach($categories as $category)
@foreach($category->faqs as $faq)
{{ $faq }}
@endforeach
@enforeach