Laravel Eloquent Select CASE? Laravel Eloquent Select CASE? laravel laravel

Laravel Eloquent Select CASE?


Move your raw() call inside the SELECT statement:

->select('shares.id AS share_id', 'users.id AS user_id', 'shares.connected_user_id',      'shares.original_language_id', 'shares.image',  'users.first_name', 'users.last_name', 'users.email',  'locations.city', 'provinces.name', 'countries.code',  'locations.lat', 'locations.lng',  'shares.created_at',  DB::raw('(CASE WHEN users.id = ' . $user . ' THEN 1 ELSE 0 END) AS is_user')  )->orderBy('shares.created_at', 'desc')

From: https://laravel.com/docs/5.4/queries#raw-expressions


Alternatively you can use selectRaw instead.

->selectRaw("shares.id AS share_id, users.id AS user_id ,     shares.connected_user_id ,          shares.original_language_id, shares.image,      users.first_name, users.last_name, users.email,      locations.city, provinces.name, countries.code,      locations.lat, locations.lng,      shares.created_at,      (CASE WHEN users.id = {$user} THEN 1 ELSE 0 END) AS is_user)")    ->orderBy('shares.created_at', 'desc')