php三表关联查询,分享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 . '%'));

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值