共有3种型号:
目标是找到在24小时内发送不超过5个广播的组。
类似的东西:
Group::whereDoesntHave("Broadcasts", function($q) {
$q->where("Count sent broadcasts in 24", "<=", 5);
})->get();
怎么可能?
答案 0 :(得分:1)
您可以使用Eloquent的whereHas方法来接收关系,回调,运算符和计数。
尝试一下:
$groups = Group::whereHas('broadcasts', function ($query) {
$query->whereBetween('created_at', [now()->subDay(), today()]);
}, '<=', 5)->get();
答案 1 :(得分:1)
您可以在has()
中添加条件。试试这个:
Group::whereHas('broadcasts', function ($query) {
$query->whereBetween('created_at', [now()->subDays(1), today()]);
})->has('broadcasts','>', 5)->get();