请帮忙,
我在ITEMS, SUPPLIERS and PURCHASE_ORDERS
由于ITEMS
和SUPPLIERS
有很多关系,我在它们之间创建了一个名为ITEM_SUPPLIER
的中间表。
现在我需要在PURCHASE_ORDERS
和中间表ITEM_SUPPLIER
之间建立多对多的关系。
我如何建立关系? 我应该在它们之间创建一个中间表,最好的方法是什么?
答案 0 :(得分:0)
将id
列添加到item_supplier
,并为数据透视表创建ItemSupplier
模型。然后在item_supplier_purchase_order
和belongsToMany()
模型之间创建一个新的ItemSupplier
数据透视表和两个PurchaseOrder
关系。
此外,当从item_supplier
数据透视表中删除相关记录时,请不要忘记使用cascade deleting从新数据透视表中删除记录。
答案 1 :(得分:0)
为数据透视表ItemSupplier
添加一个额外列id
的模型,扩展数据透视
use Illuminate\Database\Eloquent\Relations\Pivot;
class ItemSupplier extends Pivot
{
public function purchaseOrder()
{
return $this->belongsToMany(PURCHASE_ORDERS::class, item_supplier_purchase_order);
}
}
如您所见,您需要创建新的item_supplier_purchase_order
数据透视表并添加关系
class PURCHASE_ORDERS extends Model
{
public function purchaseOrder()
{
return $this->belongsToMany(ItemSupplier::class, item_supplier_purchase_order);
}
}