thinkphp6 连表 查询条数多的

use think\facade\Db;

$result = Db::table('users')
->join('orders', 'users.id=orders.user_id')
->field('users.id, users.name, COUNT(orders.id) as order_count')
->group('users.id')
->select();

 

 

$userCount = Db::table('users')
->count();

$result = Db::table('users')
->join('orders', 'users.id=orders.user_id')
->field('users.id, users.name, COUNT(orders.id) as order_count')
->group('users.id')
->select();

 

 

 

$result = Db::table('users')
->alias('u')
->leftJoin('orders o', 'u.id = o.user_id')
->field('u.id, u.name, COUNT(o.order_id) as order_count') // 使用聚合函数COUNT
->group('u.id') // 根据用户ID分组
->select();

 

 

$result = Db::table('users')
->alias('u')
->field('u.*, (SELECT COUNT(*) FROM orders o WHERE o.user_id = u.id) as order_count')
->select();
posted @ 2025-04-26 19:49  杨广伟  阅读(38)  评论(0)    收藏  举报