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
[NEW] Laravel AI SDK: 6 Practical Examples
9 lessons
1 h 02 min
Livewire v3 to v4: Changes You Need to Know
7 lessons
31 min
Laravel Coding with AI Agents: Cursor, Claude Code, Codex
5 lessons
1 h 01 min