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

WBOY
發布: 2016-06-07 17:11:33
原創
876 人瀏覽過

不废话了,直接给大家贴代码了,代码很简单,都是比较常见的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.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板