ThinkPHP3.2中关联查询的代码收藏

本文介绍了ThinkPHP3.2中如何实现关联查询,并提供了解决在处理数据表中特定字段内容形式问题的SQL语句策略。通过实例演示了在模型中建立关联的方法,以及如何在SQL查询中处理复杂的数据类型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关联查询在写程序的时候,经常能使用到。

下面是一个非常优质的ThinkPHP3.2中关联查询代码,给了大家一个很好的思路。

收藏下来,以后写程序的时候,可能会用到。

CREATE TABLE `test_avatar` (
 `uid`int(11) unsigned NOT NULL DEFAULT '0',
 `avatar`varchar(255) NOT NULL DEFAULT '',
 PRIMARYKEY (`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 '',
 PRIMARYKEY (`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',
 PRIMARYKEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO `test_user` VALUES(1,'admin',110);

如上三个表:用户头像表、产品表、用户表

怎样在模型中建立关联?

?
1
2
3
4
5
6
7
8
9
10
11
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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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值来跟字段里的内容来比较呢

------解决思路----------------------

用模糊查询吧

很优质的代码,相信很多php程序员都可能会用到。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值