Php 使用“whereNotIn”的查询生成器引发错误
我正在尝试获取带有一系列异常的记录,下面是我尝试引用的内容Php 使用“whereNotIn”的查询生成器引发错误,php,mysql,laravel,laravel-5,query-builder,Php,Mysql,Laravel,Laravel 5,Query Builder,我正在尝试获取带有一系列异常的记录,下面是我尝试引用的内容 $users_nowishlist = DB::table('employee') ->join('users', 'users.employee_id', '=', 'employee.employee_id') ->where('has_wishlist', '=', "0") ->whereNotIn('employee_id', ['MMMFLB003', 'guest_01', 'gu
$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();
->whereNotIn('employee_id', ['MMMFLB003', 'guest_01', 'guest_02', 'guest_03'])
所以在这一行中是我的记录过滤器,这意味着只有不等于异常数组中任何“employee_id”的记录才会返回,请参阅下面的内容
$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();
->whereNotIn('employee_id', ['MMMFLB003', 'guest_01', 'guest_02', 'guest_03'])
但我得到了以下错误:
SQLSTATE[23000]:完整性约束冲突:1052列
where子句中的“employee_id”不明确SQL:select*from
在users.employee\u id上加入员工内部用户=
employee.employee\u id,其中有\u wishlist=0和employee\u id
不在MMMFLB003、guest_01、guest_02、guest_03和
就业状况=活跃
有什么想法吗,请帮忙?发生这种情况是因为在进行连接时,有两列名称相同 这就是为什么在加入时,在员工id前面加上用户前缀。和雇员 现在,在whereNotIn上还必须加前缀,以便查询引擎知道要引用的表列。因此,您只需在whereNotIn子句中添加前缀:
发生这种情况的原因是,在进行联接时,有两列具有相同的名称 这就是为什么在加入时,在员工id前面加上用户前缀。和雇员 现在,在whereNotIn上还必须加前缀,以便查询引擎知道要引用的表列。因此,您只需在whereNotIn子句中添加前缀: 在使用join时,如果在连接的表中有两个字段的名称相同,则会出现这些错误,因此请始终尝试这样获取它们
table_name.field_name
在使用join时,如果在连接的表中有两个字段的名称相同,则会出现这些错误,因此请始终尝试这样获取它们
table_name.field_name
只需将whereNotIn更改为:->whereNotIn'employee.employee\u id'、[MMMFLB003'、'guest\u 01'、'guest\u 02'、'guest\u 03']太棒了!它很有魅力,谢谢你!你能把你的答案贴出来让我接受吗?把你的whereNotIn改成:->whereNotIn'employee.employee\u id',['MMMFLB003','guest\u 01','guest\u 02','guest\u 03']太好了!它很有魅力,谢谢你!你能把你的答案贴出来让我接受吗?