0
我需要从我的数据库中获取所有用户,不包括属于Admin
和Staff
组的用户,我需要为他们每个人获取他们的个人资料,所以我使用Eager装载:Laravel - Eager Loading只获得第一个结果
$data['users'] = User::with('profile')->join('role_user', function($join){
$join->on('role_user.user_id', '=' , 'users.id');
})
->join('roles', function($join){
$join->on('roles.id', '=', 'role_user.role_id');
})
->whereNotIn('roles.name', ['Admin', 'Staff'])
->withTrashed()
->paginate(10);
我的数据库表:
users:
id | email | password
profile:
user_id | first_name | last_name
roles:
id | name
role_user:
user_id | role_id |
的问题是,上面的代码与user
的相关信息,但只显示第一profile
所以我也有同样first_name and last_name
与不同耳鼻喉科email
您从所有表中选择多个'id'领域,所以'您的模型id'被覆盖。使用关系,会更容易。 – 2014-10-09 15:05:23