【发布时间】:2020-04-04 10:58:56
【问题描述】:
我在下面有查询,但它返回错误的 id。
$selectedAdmins = DB::table('organization_admins')
->whereIn('organization_admins.user_id', function($query) use ($id) {
$query->where('project_admins.project_id', $id)->select('user_id')
->from('project_admins');
})
->join('users', 'users.id', '=', 'organization_admins.user_id')
->join('profiles', 'profiles.user_id', '=', 'users.id')
->select(
'organization_admins.id as id',
'users.email as email',
'users.username as username',
'profiles.mobilePhone1 as phone',
'users.id as userId'
)
->get();
我需要得到as id 是id of project_admins table。我试图在select() 中添加id 部分也用project_admins.id as id 替换organization_admins.id as id 但没有运气。
有什么想法吗?
更新
如果我使用'project_admins.id as id', 我会得到这个错误:
消息:“SQLSTATE[42S22]:未找到列:1054 未知列 '字段列表'中的'project_admins.id'(SQL:选择
project_admins.id如id,users.users.username作为username,profiles.mobilePhone1asphone,users.idasuserIdfromorganization_admins内部连接 usersusers.id=organization_admins.user_id内连接profilesonprofiles.user_id=users.id其中organization_admins.user_id不在(选择user_idfromproject_admins其中project_admins.project_id= 2))"
【问题讨论】:
-
这个问题已经在这里回答了,看看这个-stackoverflow.com/questions/19141487/…
-
@BloodyProgrammer 我在那里找不到我的答案。我的查询的问题是我没有加入
project_admins表,我只是将其用于比较,因此我无法在导出选择部分中获取它。 -
什么是错误,请在运行此查询时解释确切的错误。