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

5年以前  |  阅读数:345 次  |  编程语言:PHP 

不废话了,直接给大家贴代码了,代码很简单,都是比较常见的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 . '%'));
 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例