Reputation: 88
How can i use alias in laravel? Here's my approach but i'm getting an error of.
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'Tbl_payroll_employee_basic' doesn't exist Query
$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 table
+----+--------------+-------------+--------------------------+
| payroll_employee_id_approver | payroll_employee_id_reliever|
+----+--------------+-------------+--------------------------+
| | |
| 2 | 3 |
+----+--------------+-------------+--------------------------+
Tbl_payroll_employee_basic table
+----+--------------+-------------+--------------------------+
| payroll_employee_id | payroll_employee_displayname|
+----+--------------+-------------+--------------------------+
| 2 | Goku |
| 3 | Naruto |
+----+--------------+-------------+--------------------------+
UPDATE
I found the cause of the problem, the cause is MISPELLED the table
Tbl_payroll_employee_basic
it should be tbl_payroll_employee_baisc
. So be sure to double check the spelling of all your tables.
Upvotes: 3
Views: 192
Reputation: 88
Laravel supports aliases on tables and columns with AS. Try doing it with using alias before executing query and store it in a variable and use it in the query. Below is one working example of aliases in laravel.
$users = DB::table('some_very_very_long_table_name AS t')
->select('t.id AS uid')
->get();
Hope this helps.
Upvotes: 1