当前位置:Gxlcms > php框架 > 分享ThinkPHP3.2中关联查询解决思路

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

时间:2021-07-01 10:21:17 帮助过:27人阅读

不废话了,直接给大家贴代码了,代码很简单,都是比较常见的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. CREATE TABLE `test_pro` (
  8. `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  9. `uid` int(11) unsigned NOT NULL DEFAULT '0',
  10. `name` varchar(255) NOT NULL DEFAULT '',
  11. PRIMARY KEY (`id`)
  12. ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
  13. INSERT INTO `test_pro` VALUES (1,1,'产品1'),(2,1,'产品2');
  14. CREATE TABLE `test_user` (
  15. `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  16. `username` varchar(50) NOT NULL DEFAULT '',
  17. `tel` int(11) unsigned NOT NULL DEFAULT '0',
  18. PRIMARY KEY (`id`)
  19. ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
  20. 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. ),
  10. )
  11. }

试过用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. );
  15. }

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

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

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

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

用模糊查询吧

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

人气教程排行