Mahmoud Al-HabashOpen to new projects
  • WorkWork
  • ServicesServices
  • LabLab
  • WritingWriting
  • ContactContact
Amman--:--عربي
Writing/Laravel

Laravel Eloquent: Subqueries for Complex Queries

Use subqueries in Eloquent for advanced database operations.

16 January 20261 min readLaravelاقرأ بالعربية

On this page

  1. Select Subquery
  2. Order by Subquery
  3. Where Subquery

Power of subqueries:

Select Subquery

php
$users = User::addSelect(['latest_post' => Post::select('title')
    ->whereColumn('user_id', 'users.id')
    ->latest()
    ->take(1)
])->get();

Order by Subquery

php
$users = User::orderByDesc(
    Post::select('created_at')
        ->whereColumn('user_id', 'users.id')
        ->latest()
        ->take(1)
)->get();

Where Subquery

php
$users = User::whereIn('id', function ($query) {
    $query->select('user_id')
        ->from('posts')
        ->where('is_published', true);
})->get();
All articles

Keep reading

  • Laravel Action Classes Pattern16 January 20261 min read
  • Laravel Action Classes: Single Responsibility16 January 20261 min read
  • Laravel API Rate Limiting16 January 20261 min read