ThinkPHP关联查询,关联查询,数据关联实例分析
今天在做ThinkPHP项目中的文章(article)模块时,运用到了thinkphp中的relation关联查询,
文章表里面的分类cate_id,查询文章的同时将分类category里的分类名name也查出
请看实例分析ThinkPHP的关联操作
目前的四种关联关系:
HAS_ONE、BELONGS_TO、HAS_MANY和MANY_TO_MANY。
[php]
class ArticleModel extends RelationModel{
protected $tableName = 'Article';
protected $_link = array(
'Category' => array(
'mapping_type' => BELONGS_TO,//article是category从表
'mapping_name'=>'Category',//关联的映射名称,用于获取数据用
'class_name'=>'Category',//要关联的模型类名
'mapping_fields'=>'id,name',//要查询的字段
'foreign_key'=>'cate_id',//article中与category相关联的字段
),
);
/**
* $type :CONF01 查询 select
* CONF02 查询 find
* CONF03 查询 count
**/
public function confselect($map=null,$relation=false,$field=null,$order=null,$limit=null,$type="CONF01"){
$list = null;
if(null!==$map){
$list = $this->where($map);
}
if(false!==$relation){
$list = $this->relation(true);
}
if(null!==$field){
$list = $this->field($field);
}
if(null!==$order){
$list = $this->order($order);
}
if(null!==$limit){
$list = $this->limit($limit[0],$limit[1]);
}
if($type=="CONF01"){
return $list = $this->select();
}elseif($type=="CONF02"){
return $list = $this->find();
}elseif($type=="CONF03"){
return $list = $this->count();
}else{
return false;
}
}
}
[/php]
您可能还会对这些文章感兴趣!
- JS获得当前元素的索引值(3326 +)
- java List 与以逗号分割String类型相互转换(1370 +)
- es6转成es5(2701 +)
- dede织梦cms后台出现文章归档出现404错误(3289 +)
- wordpress调用指定分类下的文章(3578 +)
- jquery分页思路,jquery分页插件,非常简单好用的jquery分页(3014 +)
- 微信案例,微信刮刮奖,微信大转盘抽奖,微信游戏(5100 +)
- linux,centos下加压、解压tar,gz,bz2,tgz,zip等(4225 +)
- ThinkPHP在一些项目中的使用配置(3046 +)
- js阻止默认事件,js中的preventDefault(2941 +)