Support the ongoing development of Laravel.io →
Database Eloquent

Even though I'm selecting a column as another column I cannot perform a query on the aliased column.

$users = User::select(DB::raw('*, age_when_created as age'))
    ->where(function($query) use ($slug, $tags, $country, $username, $like, $between) {
        $query->where('age', 27);

       // [...]
    });

Calling this gives me a "undefined column in where clause" error. Obviously I'm planning to do some more to the aliased column so I cant just use the original field.

Last updated 3 years ago.
0

Just figured it out. You can't use where clauses on aggregates in MySQL. You need to use having() instead.

0

Sign in to participate in this thread!

Eventy

Your banner here too?

enrichit enrichit Joined 23 Dec 2014

Moderators

We'd like to thank these amazing companies for supporting us

Your logo here?

Laravel.io

The Laravel portal for problem solving, knowledge sharing and community building.

© 2025 Laravel.io - All rights reserved.