首页 文章

Laravel 5.5与中间表有很多很多关系

提问于
浏览
0

请帮忙,

我在 ITEMS, SUPPLIERS and PURCHASE_ORDERS 之间的laravel中有这些关系

由于 ITEMSSUPPLIERS 具有多对多关系,因此我在它们之间创建了一个中间表,称为 ITEM_SUPPLIER .

现在我需要在 PURCHASE_ORDERS 和中间表 ITEM_SUPPLIER 之间 Build 多对多的关系 .

我如何 Build 这种关系?我应该在它们之间创建一个中间表,命名它的最佳方法是什么?

2 回答

  • 0

    为数据透视表添加模型 ItemSupplier whth extra column id ,扩展 Pivot

    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);
        }
    
    }
    
  • 0

    id 列添加到 item_supplier 并为数据透视表创建 ItemSupplier 模型 . 然后在 ItemSupplierPurchaseOrder 模型之间创建一个新的 item_supplier_purchase_order 数据透视表和两个 belongsToMany() 关系 .

    此外,当从 item_supplier 数据透视表中删除相关记录时,不要忘记使用cascade deleting从新数据透视表中删除记录 .

相关问题