Я потратил два дня, пытаясь решить эту проблему, но не повезло.
У меня есть 3 таблицы, категории, элементы и связанные элементы, у каждого элемента есть одна категория, и у категории может быть много элементов, эта часть работает нормально, теперь проблема в связанном элементе, у меня в таблице realteditems 3 поля, id (просто автоинкремент), ritemf_id, riteml_id, которые ссылаются на item_id в таблице элементов.
То, что я хочу сделать, - это отобразить элемент с его деталями и связанными с ним элементами. Это означает, что если в элементе 1 имеется много реализованных элементов, таких как item2, item3, item4 .., поэтому необходимо отобразить как
item_title: item1
связанный элемент:
item2
item3
item4
контроллер
$items = Item::orderBy('category_id', 'asc')->with('category')->get()->groupBy('category_id');
$categories = Category::orderBy('category_id', 'asc')->get();
return view('home',['items' => $items,'ritems' => $ritems,'categories' => $categories]);
предметы модальные
public function category()
{
return $this->belongsTo('App\Category', 'category_id');
}
public function relateditems()
{
return $this->belongsTo('App\Relateditem', 'ritemf_id');
}
модальных связанных элементов:
class Relateditem extends Model
{
protected $table="relateditems";
protected $fillable=['ritemf_id','riteml_id'];
protected $primaryKey='id';
public $timestamps=false;
public function items()
{
return $this->belongsTo('App\Item', 'item_id');
}
}
показ предметов с категорией в лезвии (работает нормально)
@if (!empty($categoryItems->first()->category))
{{ $categoryItems->first()->category->category_name }} @else {{$category_id}} @endif
@foreach($categoryItems as $item)
{{$item->item_title}}
${{$item->item_price}}
@endforeach
@endforeach