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]
您可能还会对这些文章感兴趣!
- idea 使用lombok运行报错(3289 +)
- PHP锁屏功能,JS锁屏功能,HTML锁屏功能(2604 +)
- js实现网页标题闪动的效果,js网页效果,js效果,js网页 (3254 +)
- jquery点击页面隐藏DIV(3508 +)
- jquery判断全部图片加载完,ajax加载图片,image()例子(2623 +)
- JS正则表达获取URL参数值(2878 +)
- php远程文件到指定目录,PHP代码实现远程下载文件到本地的函数,PHP下载远程文件原理(3574 +)
- Zend Studio 注册码,Zend可用注册码 (2372 +)
- react-native No bundle URL present(1896 +)
- centos安装vsftpd问题解决方案,centos无法上传,vsftpd无法上传文件(3683 +)