thinkCMF 表关联

通过a.type_id=b.id``使service表和portal_service表关联。关联目的:用于取出portal_service表中的name,name如下图所示。如果不关联,直接从service表中的type_id取出的话,取出的是id,而不是id对应的name。

thinkCMF 表关联_第1张图片
image.png
   /**
   * 服务产品信息列表获取
   */
   public function serviceProductList($where){
       $userQuery     = Db::name("service a")
       ->join('portal_service b','a.type_id=b.id') 
       ->field('a.*,b.name')->where($where);
       $favorites     = $userQuery->order('id desc')->paginate(10);
       $data['page']  = $favorites->render();
       $data['lists'] = $favorites->items();
       return $data;
   }

相关表

service表

CREATE TABLE `cmf_service` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user_id` int(11) DEFAULT NULL COMMENT '提交者',
  `type_id` int(11) DEFAULT NULL COMMENT '服务产品类型id',
  `title` varchar(255) DEFAULT NULL COMMENT '服务产品名称',
  `org` varchar(255) DEFAULT NULL COMMENT '所属机构名称',
  `address` varchar(255) DEFAULT NULL COMMENT '地址',
  `tel` varchar(50) DEFAULT NULL COMMENT '联系电话',
  `contacts` varchar(70) DEFAULT NULL COMMENT '联系人',
  `desc` text COMMENT '产品说明  富文本',
  `is_recommen` tinyint(4) DEFAULT '0' COMMENT '是否推荐显示0不推荐  1推荐',
  `tm_` datetime DEFAULT NULL COMMENT '时间',
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COMMENT='服务产品表';

portal_service表

CREATE TABLE `cmf_service` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) DEFAULT NULL COMMENT '服务产品类型名称',
  `parent_id` int(11) DEFAULT NULL COMMENT '大类id,如果id为0就为大类,否则就为小类',
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COMMENT='服务产品类型表';

你可能感兴趣的:(thinkCMF 表关联)