tp5 多表查询

article表 : 文章表
列 类型 注释
id mediumint(9) 自动增量
title varchar(60) 标题
keywords varchar(100) 关键字
desc varchar(255) 描述
author varchar(50) 作者
content text 内容
click mediumint(9) [0] 点击量
zan mediumint(9) [0] 点赞数
add_time int(10) 添加时间
cate_id mediumint(9) 所属分类id 和 cate表中的id对应
image varchar(255)

cate表 : 栏目表
列 类型 注释
id mediumint(9) 自动增量
cate_name varchar(30) 栏目名称
type tinyint(1) [1] 栏目类型,1: 列表栏目,2:单页栏目
pid mediumint(9) [0] 上级栏目id
order mediumint(9) [0] 排序


设置article别名a,cate别名c,查询a的所有字段、c的cate_name字段,并分页查询

$data['article'] = ArticleModel::alias('a')->field('a.*,c.cate_name')->join(cate c','a.cate_id = c.id')->paginate(2);

object join ( mixed join [, mixed $condition = null [, string $type = ‘INNER’]] )
JOIN方法也是连贯操作方法之一,用于根据两个或多个表中的列之间的关系,从这些表中查询数据。

参数

join
要关联的(完整)表名以及别名
支持三种写法:

写法1:[ ‘完整表名或者子查询’=>‘别名’ ]
写法2:‘完整表名 别名’
写法3:‘不带数据表前缀的表名’


alias用于设置当前数据表的别名,便于使用其他的连贯操作例如join方法等。

示例:

Db::table(‘think_user’)->alias(‘a’)->join('DEPT b ',‘b.user_id= a.id’)->select();
最终生成的SQL语句类似于:

SELECT * FROM think_user a INNER JOIN think_dept b ON b.user_id= a.id

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

苗先生的PHP记录

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值