laravel 违反完整性约束:1052 列和 where 子句不明确

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/47234227/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-14 16:57:08  来源:igfitidea点击:

Integrity constraint violation: 1052 Column and in where clause is ambiguous

mysqlsql-serverlaraveleloquent

提问by nethkennnnn

I have two table the Tbl_payroll_leave_employeev2and tbl_payroll_leave_schedulev2and i want to jointhem but im getting an error like this

我有两个表Tbl_payroll_leave_employeev2tbl_payroll_leave_schedulev2,我想join他们,但即时得到这样的错误

SQLSTATE[23000]: Integrity constraint violation: 1052 Column 'payroll_leave_employee_id' in where clause is ambiguous (SQL: select payroll_employee_idfrom tbl_payroll_leave_employee_v2inner join tbl_payroll_leave_schedulev2on tbl_payroll_leave_employee_v2.payroll_leave_employee_id= tbl_payroll_leave_schedulev2.payroll_leave_employee_idwhere payroll_leave_employee_id= 5) ?

SQLSTATE [23000]:完整性约束违规:1052列在where子句是不明确的'payroll_leave_employee_id'(SQL:选择payroll_employee_idtbl_payroll_leave_employee_v2内连接tbl_payroll_leave_schedulev2tbl_payroll_leave_employee_v2payroll_leave_employee_id= tbl_payroll_leave_schedulev2payroll_leave_employee_id其中payroll_leave_employee_id= 5)?

My table structure enter image description here

我的表结构 在此处输入图片说明

$employee_id = Tbl_payroll_leave_employeev2::select('payroll_employee_id')
   ->join('tbl_payroll_leave_schedulev2','tbl_payroll_leave_employee_v2.payroll_leave_employee_id','=','tbl_payroll_leave_schedulev2.payroll_leave_employee_id')
   ->where('payroll_leave_employee_id',$emp)
   ->get();

回答by dieuhd

In where condition, you must define the field payroll_leave_employee_idof table tbl_payroll_leave_employee_v2or table tbl_payroll_leave_schedulev2

在 where 条件下,必须定义payroll_leave_employee_idtabletbl_payroll_leave_employee_v2或 table的字段tbl_payroll_leave_schedulev2

$employee_id = Tbl_payroll_leave_employeev2::select('payroll_employee_id')
   ->join('tbl_payroll_leave_schedulev2','tbl_payroll_leave_employee_v2.payroll_leave_employee_id','=','tbl_payroll_leave_schedulev2.payroll_leave_employee_id')
   ->where('tbl_payroll_leave_schedulev2.payroll_leave_employee_id',$emp)
   ->get();