2017-02-13 12 views
0
  Select distinct 
      `users`.`name` as user_name, 
      `practices`.`name` as practice_name, 
      `userlevels`.`name` as userlevel_name, 
      `usertypes`.`name` as usertypes_name,    
      `users`.`active` as user_status, 
      `users`.`email` as user_email    
      from `network_user` 
      left join `users` on `network_user`.`user_id` = `users`.`id` 
      left join `practice_user` on `users`.`id`=`practice_user`.`user_id` 
      left join `practices` on `practice_user`.`practice_id`=`practices`.`id` 
      left join `userlevels` on `users`.`level`=`userlevels`.`id` 
      left join `usertypes` on `users`.`usertype_id`=`usertypes`.`id` 
      where `network_user`.`network_id`= 9 
      ; 

Это мой запрос sql raw. Я новичок в красноречивой проблеме. Можно ли мне рассказать, как переименовать атрибуты в eloquent.Thanks заранее.Как переименовать атрибуты в Eloquent?

+0

Если вы хотите полный запроса может быть немного широко, но посмотри [здесь] (HTTP: //stackoverflow.com/questions/26958080/how-to-alias-the-name-of-a-column-in-eloquent), чтобы увидеть, как псевдоним столбца. –

ответ

1

Пожалуйста, попробуйте следующее:

$users = DB::table('network_user') 
->leftJoin('users', 'users.id', '=', 'network_user.user_id') 
->leftJoin('practice_user', 'practice_user.user_id', '=' ,'users.id') 
->leftJoin('practices', 'practices.id', '=', 'practice_user`.`practice_id') 
->leftJoin('userlevels', 'userlevels.id', '=', 'users.level') 
->leftJoin('usertypes', 'usertypes.id', '=', 'users.usertype_id') 
->where('network_user.network_id', 9) 
->get(['users.name as user_name', 
     'practices.name as practice_name', 
     'userlevels.name as userlevel_name', 
     'usertypes.name as usertypes_name',    
     'users.active as user_status', 
     'users.email as user_email']); 

Не проверял, но должно работать.

+0

Да, это сработало, единственное, что «пропало без вести», вы спасли мой день @Parth –

+0

О да .. Хорошее место ... для этого. Рад, что я могу вам помочь. :) –

0

Я понимаю, что вы хотите использовать столбец allias в красноречивым запросе, даже если предыдущий ответ правильный, его подходит для построителя запросов подход, если вы используете красноречивые модели, вы можете пойти следующим образом,

$users = User::select(['id','username','first_name AS UserFirstName',DB::raw('CONCAT(user.first_name, " ", user.last_name) AS user_full_name'),'user.username'])->get(); 

Обратите внимание, что вы можете использовать все функции, доступные для построитель запросов с красноречивым, а также ...