我有3个表,categories
,items
,relateditems
。现在,我可以在主页中显示这3个表,这样我就可以看到类别名称,在它下面的项目标题和在项目标题下的项目都可以查看。
每个category have many items
和每个item have many related item
,
我想要在主页上单击项目标题时显示模式及其详细信息,类别和相关项目。
现在,我只能在模式项目中显示,而看不到其相关项目或类别
希望你能理解我并帮助我
Home.blade
@foreach($ritems as $categoryId => $groupItems)
<div>
<p>
@if (!empty($groupItems->first()->category))
{{ $groupItems->first()->category->category_name }}
@else
{{$categoryId}}
@endif
</p>
</div>
@foreach($groupItems as $item)
<button id="Item_root" data-titlefield="{{$item->item_title}}" class="Item_root">
<span>{{$item->item_title}}</span>
<p> related:</p>
@foreach($item->relateditems as $relatedItem)
@if ($relatedItem->item)
{{$relatedItem->item->item_title}}
@endif
@endforeach
</button>
@endforeach
@endforeach
javascript
<script>
$(function(){
$('.Item_root').on("click", function () {
$('#myModal').modal('show');
$('#title').text($(this).data('titlefield'));
});
});
</script>
控制器
$ritems = Item::orderBy('category_id', 'asc')->with('category','relateditems', 'relateditems.item')->get()->groupBy('category_id');
模型
类别模型
public function items() {
return $this->hasMany('App\Item', 'category_id');
}
项目模型
public function category()
{
return $this->belongsTo('App\Category', 'category_id');
}
public function relateditems()
{
return $this->hasMany('App\Relateditem', 'ritemf_id');
}
相关项目模型
public function item()
{
return $this->belongsTo('App\Item', 'riteml_id');
}