In Eloquent, you can combine whereHas() and orDoesntHave() in one sentence.
User::whereHas('roles', function($query) { $query->where('name', 'Admin');})->orDoesntHave('roles')->get();
Enjoyed This Tip?
Get access to all premium tutorials, video and text courses, and exclusive Laravel resources. Join our community of 10,000+ developers.
Recent Courses
Laravel Coding with AI Agents: Cursor, Claude Code, Codex
5 lessons
1 h 01 min
PhpStorm Junie AI for Laravel Projects: Crash Course
7 lessons
36 min
NativePHP: Build Mobile App with Laravel
11 lessons
2 h 2 min read