ThinkPHP数据分类

阅读更多

【前言】

    今天做数据的分类展示,推荐使用join方法

 

【主体】

   在thinkphp3.2中写多表连接查询?

  先分析下主表和从表,下面为定义

(1)主表blog_article,从表blog_cate
(2)别名:主表t1,从表t2
(3)关联条件:t1.cateid=t2.id
注意:table相当于join的内联

 

(1)原生SQL写法:

select t1.*,t2.catename as catename from 
blog_article as t1 left join blog_cate as t2 on t1.cateid=t2.id where t1.cateid=46;
(2)Thinkphp写法:
     I('id')为接收的id
$model->field('t1.*,t2.catename as catename')
      ->alias('t1')
      ->join('left join blog_cate as t2 on t1.cateid=t2.id')
      ->where('t1.cateid = '.I('id'))
      ->select();

 

  如果有多个表,继续在table 后面加 join 就行了

 

【总结】

      1对1的话是可以使用视图模型的,但是由于多张表一起关联,且有些是多对多的,没办法才使用了关联模型,出现这个1对1关联查询结果筛选问题,我找到的解决方法就是使用join, 不是关联模型,join的话就可以筛选关联的表字段了!

 

参考链接:

http://document.thinkphp.cn/manual_3_2.html#join

 http://www.php.cn/code/26127.html

 

 

 

 

 

 

.

你可能感兴趣的:(后端积累,PHP)