当前位置:Gxlcms > PHP教程 > ThinkPHP3.2中关联查询解决办法

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

时间:2021-07-01 10:21:17 帮助过:31人阅读

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'=>''
),
);
}

人气教程排行