thinkphp6一对多关联中如何统计全部加起来的数量?
在ThinkPHP6中,可以通过withCount方法来统计一对多关联中全部加起来的数量。
假设有两个模型User和Order,User模型有多个Order模型的关联,可以在User模型的关联方法中使用withCount方法来统计全部加起来的数量。
// User模型
namespace app\model;
use think\Model;
class User extends Model
{
// 定义User模型与Order模型的一对多关联
public function orders()
{
return $this->hasMany(Order::class);
}
}
// Order模型
namespace app\model;
use think\Model;
class Order extends Model
{
// 定义Order模型与User模型的多对一关联
public function user()
{
return $this->belongsTo(User::class);
}
}
// 在控制器中使用
use app\model\User;
$user = User::withCount('orders')->find($id);
$totalOrders = $user->orders_count;
在上述代码中,withCount('orders')会将统计的结果存储在orders_count字段中,可以通过$user->orders_count来获取全部加起来的数量
原文地址: http://www.cveoy.top/t/topic/i0gn 著作权归作者所有。请勿转载和采集!