Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

griffhayes77's avatar

Eloquent vs Query Builder – When to Use Which?

I'm working on a Laravel project and often find myself wondering whether to use Eloquent or the Query Builder for database operations. I love Eloquent’s simplicity and relationships, but sometimes the Query Builder seems more efficient for complex queries.

How do you decide when to use Eloquent vs Query Builder? Are there specific scenarios where one clearly outperforms the other? Any best practices or performance tips?

0 likes
2 replies
jlrdw's avatar

Relation, use eloquent relations. Joins. unions, special cases, use query builder.

Just example of a query, where not using direct relations:

$quy = Powner::query()->leftJoin('dc_pets', 'dc_powners.ownerid', '=', 'dc_pets.ownerid')
                ->select('dc_powners.ownerid', 'dc_powners.oname')
                ->selectRaw('count(dc_pets.petid) as countOfPets')
                ->groupby('dc_powners.ownerid')
                ->orderby('dc_powners.oname')
                ->get();

Results basically give:

ownerid, oname, countOfPets

Like:

5|Bob|3
4|Greg|9
2|Rob|1

Eloquent has also all query builder techniques build in.

Please or to participate in this conversation.