我怎样才能在laravel中使用别名?这是我的方法,但我得到了一个错误。
SQLSTATE [42S02]:找不到基表或视图:1146表'Tbl_payroll_employee_basic'不存在查询
$data["_leave_info"] = Tbl_payroll_leave_schedulev3::select('*','basicapprover.payroll_employee_display_name','basicreliever.payroll_employee_display_name')
->leftjoin('Tbl_payroll_employee_basic AS basicreliever', 'basicreliever.payroll_employee_id', '=', 'Tbl_payroll_leave_schedulev3.payroll_employee_id_reliever')
->leftjoin('Tbl_payroll_employee_basic AS basicapprover', 'basicapprover.payroll_employee_id', '=', 'Tbl_payroll_leave_schedulev3.payroll_employee_id_approver')
->get();
Tbl_payroll_leave_schedule_v3表
+----+--------------+-------------+--------------------------+
| payroll_employee_id_approver | payroll_employee_id_reliever|
+----+--------------+-------------+--------------------------+
| | |
| 2 | 3 |
+----+--------------+-------------+--------------------------+
Tbl_payroll_employee_basic表
+----+--------------+-------------+--------------------------+
| payroll_employee_id | payroll_employee_displayname|
+----+--------------+-------------+--------------------------+
| 2 | Goku |
| 3 | Naruto |
+----+--------------+-------------+--------------------------+
UPDATE
我找到问题的原因,原因是错误的table
Tbl_payroll_employee_basic
它应该是tbl_payroll_employee_baisc
。所以一定要仔细检查所有表格的拼写。
Laravel支持使用AS的表和列上的别名。尝试在执行查询之前使用别名并将其存储在变量中并在查询中使用它。下面是laravel中别名的一个工作示例。
$users = DB::table('some_very_very_long_table_name AS t')
->select('t.id AS uid')
->get();
希望这可以帮助。