我具有以下结构:
订单 ID 名称
产品 ID 名称
项目 ID order_id product_id 数量
关系如下:
订购
public function items(){
return $this->hasMany(Item::class)
}
public function products(){
return $this->hasManyThrough(Product::class, Item::class);
}
项目
public function order(){
return $this->belongsTo(Order::class);
}
public function product(){
return $this->belongsTo(Product::class);
}
产品
public function items(){
return $this->hasMany(Item::class);
}
我希望获得该订单的所有产品,例如: $ order-> items()-> products()-> get()使用hasManyThrough方法,但是我一定做错了,因为它试图在产品表中查找item_id。
答案 0 :(得分:0)
我意识到我并不需要很多,我只需要使用items表作为数据透视表,就可以像这样定义Order模型上的关系:
public function products(){
return $this->belongsToMany(Product::class, 'items');
}