【发布时间】:2018-12-09 19:50:01
【问题描述】:
我花了两天时间试图解决这个问题,但没有运气。 我有 3 个表、类别、项目和相关项目,每个项目都在一个类别下,类别可以有很多项目,这部分工作正常,现在问题出在相关项目中,我在表 realteditems 中有 3 个字段,id(只是autoincrement), ritemf_id,riteml_id 指的是 items 表中的 item_id。 我想要做的是显示项目及其详细信息和与该项目相关的项目,这意味着如果 item1 有很多 realted 项目,例如 item2,item3,item4 .. 所以需要这样显示
item_title: item1
相关项目:
项目2
项目3
项目4
控制器
$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
【问题讨论】:
-
ritemf_id和riteml_id有什么区别。有什么用?