如何在Eloquent中重命名属性?

时间:2017-02-13 11:37:28

标签: mysql sql laravel-5 eloquent laravel-5.2

let blur = UIBlurEffect(style: .light)
        let blurView = UIVisualEffectView(effect: blur)
        blurView.isUserInteractionEnabled = false
        blurView.frame = self.recordBtn.bounds
        recordBtn.addSubview(blurView)

这是我的sql原始查询我是新来的雄辩面临的问题可以任何人告诉我如何在eloquent.Thanks提前重命名属性。

2 个答案:

答案 0 :(得分: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']);

Haven未经过测试,但应该可以使用。

答案 1 :(得分:0)

我的理解是你想在eloquent查询中使用列别名,即使先前的答案是正确的,它适用于查询构建器方法,如果你使用雄辩的模型,你可以采用以下方式,

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

请注意,您可以使用所有可用于查询构建器的功能,并且具有eloquent ...