当前位置: 代码迷 >> PHP >> ThinkPHP3.2中关联查询解决办法
  详细解决方案

ThinkPHP3.2中关联查询解决办法

热度:156   发布时间:2016-04-28 16:59:57.0
ThinkPHP3.2中关联查询
CREATE TABLE `test_avatar` (
  `uid` int(11) unsigned NOT NULL DEFAULT '0',
  `avatar` varchar(255) NOT NULL DEFAULT '',
  PRIMARY KEY (`uid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO `test_avatar` VALUES (1,'./Uploads/admin.jpg');

CREATE TABLE `test_pro` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `uid` int(11) unsigned NOT NULL DEFAULT '0',
  `name` varchar(255) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO `test_pro` VALUES (1,1,'产品1'),(2,1,'产品2');

CREATE TABLE `test_user` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `username` varchar(50) NOT NULL DEFAULT '',
  `tel` int(11) unsigned NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO `test_user` VALUES (1,'admin',110);

如上三个表:用户头像表、产品表、用户表
怎样在模型中建立关联?
class ProModel extends RelationModel{

protected $_link=array(
'Avatar'=>array(
'mapping_type'=>self::HAS_ONE,
'class_name'=>'Avatar',
'foreign_key'=>'uid',
'mapping_fields'=>'avatar',
'as_fields'=>'avatar',
),
        )
}

试过用HAS_ONE、BELONGS_TO、HAS_MANY、MANY_TO_MANY都不行,求大神指点
------解决思路----------------------
Model下建立ProModelModel.class.php

class ProModelModel extends ViewModel {  

public $viewFields = array(     
'test_avatar'=>array(
'id',...
),     
'test_pror'=>array(
'id',...
'_on'=>''
),      
               'test_pror'=>array(
'id',...
'_on'=>''
), 
   ); 
}
  相关解决方案