欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

ThinkPHP3.2中关联查询

程序员文章站 2022-05-23 13:38:24
...
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'=>''			), 	   ); }