这篇文章主要介绍了thinkphp3.2中关联查询解决思路的相关资料,需要的朋友可以参考下
不废话了,直接给大家贴代码了,代码很简单,都是比较常见的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 . '%'));