thinkphp多表查询
时间: 2023-09-19 13:10:19 浏览: 119
ThinkPHP的多表查询
3星 · 编辑精心推荐
在ThinkPHP中进行多表查询可以使用以下方法:
1. 使用join方法
使用join方法可以将多个表连接起来,例如:
```
$model = M('User');
$list = $model->field('user.*, role.name as role_name')
->join('left join role on user.role_id = role.id')
->select();
```
2. 使用关联模型
如果表之间有关联,可以使用关联模型来进行查询。例如,如果User表和Role表有关联,可以定义User模型中的role方法:
```
class UserModel extends Model {
protected $_link = array(
'Role' => array(
'mapping_type' => BELONGS_TO,
'class_name' => 'Role',
'foreign_key' => 'role_id',
'mapping_name' => 'role'
)
);
}
```
然后就可以使用以下代码进行查询:
```
$model = M('User');
$list = $model->relation(true)->select();
```
其中,relation(true)表示查询所有关联的数据。
阅读全文