2017-02-13 76 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原始查询我是新的雄辩面临的问题可以任何一个告诉我如何重新命名属性的雄辩。提前感谢。如何重新命名属性?

+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(); 

注意,您可以使用所有可用的功能查询生成器与口才,以及...