这篇文章主要介绍了ThinkPHP3.2中关联查询解决思路的相关资料,需要的朋友可以参考下
不废话了,直接给大家贴代码了,代码很简单,都是比较常见的sql语句,具体内容请看下文。
- 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'=>''
- ),
- );
- }
Thinkphp中SQL语句有关问题及解决办法
请问,在THINKPHP中,数据表里有个字段,字段的内容形式为 {1,2,3,4,5}
那么SQL语句里怎么将获得的ID值来跟字段里的内容来比较呢
------解决思路----------------------
用模糊查询吧
- $where = array('该字段'=>array('LIKE', '%' . $ID . '%'));
新闻热点
疑难解答