【前言】
? ? 今天做数据的分类展示,推荐使用join方法
?
【主体】
? ?在thinkphp3.2中写多表连接查询?
? 先分析下主表和从表,下面为定义
?
class="定义" name="code">(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
?
?
?
?
?
.