22、ThinkPhP5 :关联-四(多对多)

1、需要有三个表

 2、创建tp_region、tp_shipping_area 模型

class Region extends Model{  //全国地区表
    
    
    //地区模型
    public function shippingArea(){
        
        //area_region 配送与区域关系表
        //shipping_area_id 配送区域ID
        //region_id 区域ID
        //ShippingArea 配送区域表
        //地区表 BELONGS_TO_MANY 配送区域
        return $this->belongsToMany('ShippingArea','area_region','shipping_area_id','region_id');
        
        
    }
    
}
class ShippingArea extends Model{ //配送区域
    
    public function region(){
        //area_region 配送与区域关系表 
        //shipping_area_id 配送区域ID 
        //region_id 区域ID
        //Region 地区表
        
        return $this->belongsToMany('Region','area_region','shipping_area_id','region_id');
        
    }
    
    
}

3、关联新增

        //关联新增
        //region 区载表
        //shipping_area 配送区域表
        //area_region 配送与区域关系表
        $region = Region::getByName('北京市');
        $region->shippingArea()->save(['shipping_area_name' => '中国一经城市']); //新增配送区域 并自动写入枢纽表
        //SELECT * FROM `tp_region` WHERE `name` = '北京市' 
        //INSERT INTO `tp_shipping_area` (`shipping_area_name`) VALUES ('中国一经城市')
        //REPLACE INTO `tp_area_region` (`region_id` , `shipping_area_id`) VALUES (1 , 11)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值