thinkphp5多对多关联,中间表进行多态关联

这是中间表,不要问我为什么这么设计,这是领导要求的

CREATE TABLE `at_relation_table` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `aid` int(11) NOT NULL COMMENT 'aid',
  `bid` int(11) NOT NULL COMMENT 'bid',
  `type` int(2) NOT NULL COMMENT '1联系人资源aid资源,2联系人项目aid项目,3联系人企业aid企业',
  `update_time` int(11) NOT NULL DEFAULT '0',
  `create_time` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COMMENT='多对多关联表';

可以看出这是统一的多对多关联表,通过type来区别是哪两张表的关联,type=3代表企业和联系人之间的多对对关系

下面怎么实现多对多只关联企业呢,在联系人中加入多对多关联,同时加入where条件

 //多对多关联企业
    public function enterprice()
    {
        return $this->belongsToMany('EnterPriceModel','RelationTable','aid','bid')
        ->where('pivot.type',3);
    }

注意:pivot是中间表的别名

你可能感兴趣的:(php)