6

次のようなクエリがあります。

$users = DB::table('users')->join('user_roles','users.role_id','=','user_roles.id')->get();

列 (users.id) を持つテーブルと、列(user_roles.id & user_roles.user_id)idを持つ別のテーブル、iduser_id

しかし問題は..返されているのは列で$user->iduser_roles.idなくusers.id..これを修正して、ロールIDではなくユーザーIDを取得するにはどうすればよいですか..

ありがとう!

4

2 に答える 2

16

それを見つけた!

->select('users.*', 'user_roles.role_name')i を使用するuser_roles.idと、返された値から削除できるため、競合が解消されます。

最後のクエリは次のとおりです。

$users = DB::table('users')->join('user_roles','users.role_id','=','user_roles.id')->select('users.*', 'user_roles.role_name')->get();
于 2013-08-12T00:55:22.047 に答える
6

これを行うより良い方法は、'as' を使用することです。

$users = DB::table('users')->join('user_roles','users.role_id','=','user_roles.id')->get(array('users.*', '**user_roles.id as user_roles_id**', 'user_roles.*'));
于 2015-05-19T23:44:36.130 に答える