+1
laravel eloquent query ??
E có một bảng users
và một bảng user_activity
quan hệ 1-n
Giờ e muốn lấy danh sách user không có activity trong vòng 30 ngày đổ lại thì phải làm như nào ạ.
Thêm một bình luận
1 CÂU TRẢ LỜI
+3
Bạn có thể dùng NOT EXISTS trong SQL theo mẫu dưới đây hoặc dùng whereDoesntHave
trong Query Builder của Laravel.
SELECT users.*
FROM users
WHERE NOT EXISTS (
SELECT id
FROM user_activity
WHERE users.id = user_activity.user_id AND user_activity.created_at >= ?
LIMIT 1
)
$users = User::whereDoesntHave('user_activity', function($query) {
return $query->whereRaw('user_activity.user_id = users.id')
->where('user_activity.created_at', '>=', today()->subDays(30));
});
cám ơn bạn nhé
@Trungdao không có gì.