首页 > 开发 > PHP > 正文

分享ThinkPHP3.2中关联查询解决思路

2024-05-04 23:39:04
字体:
来源:转载
供稿:网友

这篇文章主要介绍了ThinkPHP3.2中关联查询解决思路的相关资料,需要的朋友可以参考下

不废话了,直接给大家贴代码了,代码很简单,都是比较常见的sql语句,具体内容请看下文。

 

 
  1. CREATE TABLE `test_avatar` ( 
  2. `uid` int(11) unsigned NOT NULL DEFAULT '0'
  3. `avatar` varchar(255) NOT NULL DEFAULT ''
  4. PRIMARY KEY (`uid`) 
  5. ) ENGINE=MyISAM DEFAULT CHARSET=utf8; 
  6. INSERT INTO `test_avatar` VALUES (1,'./Uploads/admin.jpg'); 
  7.  
  8. CREATE TABLE `test_pro` ( 
  9. `id` int(11) unsigned NOT NULL AUTO_INCREMENT, 
  10. `uid` int(11) unsigned NOT NULL DEFAULT '0'
  11. `name` varchar(255) NOT NULL DEFAULT ''
  12. PRIMARY KEY (`id`) 
  13. ) ENGINE=MyISAM DEFAULT CHARSET=utf8; 
  14.  
  15. INSERT INTO `test_pro` VALUES (1,1,'产品1'),(2,1,'产品2'); 
  16. CREATE TABLE `test_user` ( 
  17. `id` int(11) unsigned NOT NULL AUTO_INCREMENT, 
  18. `username` varchar(50) NOT NULL DEFAULT ''
  19. `tel` int(11) unsigned NOT NULL DEFAULT '0'
  20. PRIMARY KEY (`id`) 
  21. ) ENGINE=MyISAM DEFAULT CHARSET=utf8; 
  22. INSERT INTO `test_user` VALUES (1,'admin',110); 

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

怎样在模型中建立关联?

 

 
  1. class ProModel extends RelationModel{ 
  2. protected $_link=array( 
  3. 'Avatar'=>array( 
  4. 'mapping_type'=>self::HAS_ONE, 
  5. 'class_name'=>'Avatar'
  6. 'foreign_key'=>'uid'
  7. 'mapping_fields'=>'avatar'
  8. 'as_fields'=>'avatar'
  9. ), 

试过用HAS_ONE、BELONGS_TO、HAS_MANY、MANY_TO_MANY都不行,求大神指点

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

Model下建立ProModelModel.class.php

 

 
  1. class ProModelModel extends ViewModel {  
  2. public $viewFields = array(  
  3. 'test_avatar'=>array( 
  4. 'id',... 
  5. ),  
  6. 'test_pror'=>array( 
  7. 'id',... 
  8. '_on'=>'' 
  9. ),  
  10. 'test_pror'=>array( 
  11. 'id',... 
  12. '_on'=>'' 
  13. ),  
  14. );  

Thinkphp中SQL语句有关问题及解决办法

请问,在THINKPHP中,数据表里有个字段,字段的内容形式为 {1,2,3,4,5}

那么SQL语句里怎么将获得的ID值来跟字段里的内容来比较呢

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

用模糊查询吧

 

 
  1. $where = array('该字段'=>array('LIKE''%' . $ID . '%')); 

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表