我有具有hasMany關系的用戶模型,我需要撰寫一個查詢并只獲取那些具有偶數個相關記錄的用戶。
是否可以以某種方式whereHas與 %2 條件一起使用?或者怎么做?
uj5u.com熱心網友回復:
您可以將withCount與 haveRaw 一起使用來執行此操作:
$usersWithEvenRelatedModel= User::withCount('relatedModels as relatedCount')
->havingRaw('relatedCount %2 =1')->get();
uj5u.com熱心網友回復:
您可以通過一些分組/擁有和原始查詢來做到這一點:
$userWithEvenRelations = User::whereHas('related', function ($q) {
$q->groupBy('user_id')->havingRaw('MOD(COUNT(user_id), 2) = 0');
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/365243.html
標籤:php 拉拉维尔 laravel-8 查询生成器 laravel 查询构建器
上一篇:php對WEBP影像元資料的支持
