Carlos Suñol
Carlos Suñol

Reputation: 2803

how to make query with substr in eloquent (laravel 4)?

I have this query:

select substr(id,1,4) as id
from meteo.a2012
group by substr(id,1,4)

I just want to take first 4 numbers to my id row, but I'm trying to do in eloquent, how I do?

Thanks.

Upvotes: 5

Views: 10101

Answers (3)

Felipe Carrasco C.
Felipe Carrasco C.

Reputation: 11

G'day

I was able to do it like this in Laravel

 $data = DataModel::selectRaw("SUBSTRING_INDEX(EMAIL_COLUMN, '@', 1) as 'alias'")->get();

As a result, I get the alias name (address) from the mail [email protected]

Upvotes: 1

BCPNAYAK
BCPNAYAK

Reputation: 177

$ids = Model::get(['id']);
foreach ($ids as $str)
{
    $str->id =substr($str->id,1,4);
}
return $ids;

Upvotes: -1

Jason Lewis
Jason Lewis

Reputation: 18665

You need to use raw expressions so you can use special functions like that.

Model::select(DB::raw('substr(id, 1, 4) as id'))->groupBy(DB::raw('substr(id, 1, 4)'))->get();

Where Model is your Eloquent model you want to run the query on.

Upvotes: 8

Related Questions