1. 程式人生 > >資料庫多表關聯對多對關係

資料庫多表關聯對多對關係

資料庫多表關聯對多對關係

本文章解決資料庫設計多表關聯配置問題,多對多關係!


設計思路:

應用場景:
1,區域表(欄位:id(城市id)、name(城市名字))
表名:pms_region
2,中間表(欄位:shipping_area_id、region_id)
表名:pms_area_region
3,配送區域表(欄位:shipping_area_id(配送區域id)、shipping_area_name(配送區域名字))
表名:pms_shipping_area


關係闡述:

多對多:一個城市屬於多個配送區域,一個區域包含多個城市,表1和表3通過中間表關聯,拿出二者的主鍵作為關聯欄位


問題解決:

1,對於表1來說:設定主鍵屬性及預設值
2,對於表2來說:不需要
3,對於表3來說:設定主鍵及自動遞增屬性


程式碼設計一定注意主鍵和外來鍵的次序

區域表模型

class Region extends Model
{
    public function shippingArea(){
        return $this->belongsToMany('ShippingArea','area_region','shipping_area_id','region_id');
    }
}

配送區域表模型

class
ShippingArea extends Model {
public function region(){ return $this->belongsToMany('Region','area_region','region_id','shipping_area_id'); } }

PS:表名不帶字首