У меня 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 1016 *
<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');
}