gpt4 book ai didi

php - 使用 'whereNotIn' 的查询生成器抛出错误

转载 作者:行者123 更新时间:2023-11-29 06:19:18 24 4
gpt4 key购买 nike

我正在尝试获取包含异常数组的记录,这是我尝试过的(引用下文)

$users_nowishlist = DB::table('employee')
->join('users', 'users.employee_id', '=', 'employee.employee_id')
->where('has_wishlist', '=', "0")
->whereNotIn('employee_id', ['MMMFLB003', 'guest_01', 'guest_02', 'guest_03'])
->where('employment_status', '=', 'ACTIVE')
->get();

所以在这一行中是我的记录过滤器,意味着只有不等于异常数组中的任何'employee_id'的记录才会被返回(引用下文)

->whereNotIn('employee_id', ['MMMFLB003', 'guest_01', 'guest_02', 'guest_03'])

但是我得到了这个错误(引用下面):

SQLSTATE[23000]: Integrity constraint violation: 1052 Column 'employee_id' in where clause is ambiguous (SQL: select * from employee inner join users on users.employee_id = employee.employee_id where has_wishlist = 0 and employee_id not in (MMMFLB003, guest_01, guest_02, guest_03) and employment_status = ACTIVE)

有什么想法,请帮忙?

最佳答案

发生这种情况是因为当您进行连接时,有两列具有相同的名称。

这就是为什么在加入时要在 employee_id 前加上 users.employee.

现在在您的 whereNotIn 上,您还必须为其添加前缀,以便查询引擎知道您正试图引用哪个表列。因此,您只需在 whereNotIn 子句中添加前缀:

->whereNotIn('employee.employee_id', ['MMMFLB003', 'guest_01', 'guest_02', 'guest_03'])

关于php - 使用 'whereNotIn' 的查询生成器抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34182219/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com