thinkphp 联表查询
时间: 2023-02-08 17:59:57 浏览: 103
ThinkPHP3.1查询语言详解
ThinkPHP 是一个基于 PHP 的开源框架,支持使用类似于 ActiveRecord 的方式来查询数据。
要在 ThinkPHP 中进行联表查询,可以使用 join 方法。例如,如果要查询用户表和订单表之间的关系,可以这样写:
```
$data = M('user')->join('__ORDER__ ON __USER__.id = __ORDER__.user_id')->select();
```
这样就能够得到两个表之间的联表查询结果了。这个例子中 join 函数的参数是一个字符串,在这个字符串中定义了要连接的两个表的名字和连接条件。
如果要在查询中限制字段,可以使用 field 方法.
```
$data = M('user')->join('__ORDER__ ON __USER__.id = __ORDER__.user_id')->field('user.name,order.price')->select();
```
这样会在结果中只显示 user 表中的 name 字段和 order 表中的 price 字段.
另外,如果要实现多表关联查询,可以连续多次使用 join方法.
```
$data = M('user')
->join('__ORDER__ ON __USER__.id = __ORDER__.user_id')
->join('__GOODS__ ON __ORDER__.goods_id = __GOODS__.id')
->select();
```
那么就能得到三个表之间的关联查询结果了.
阅读全文