2014-11-21 72 views
1

如何在laravel中准备以下查询?使用laravel的内部连接吗?

SELECT u.* 
FROM `users` AS u 
INNER JOIN `roles_users` AS r 
ON u.id = r.user_id 
WHERE r.role_id = ".Role::USER_CLIENT_COACH." 

任何帮助将不胜感激!

回答

2

尝试使用query builder像这样:

DB::table('users') 
     ->join('roles_users', 'users.id', '=', 'roles_users.user_id') 
     ->select('users.id') 
     ->where('roles_users.role_id' = Role::USER_CLIENT_COACH) 
     ->get(); 

写到这非常快,检查语法,但是一般情况下应该指向你在正确的方向。

+1

谢谢!我做到了这一点,它的工作原理:$ user_list = User :: where('users.user_id','=',$ user-> id) - > join('users_roles','users.id','=' 'users_roles.user_id') - > where('users_roles.role_id','=',Role :: USER_CLIENT_COACH) - > get(); – Alberto 2014-11-21 11:00:27