hihihihi
hihihihi

Reputation: 88

Alias in Laravel

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

Answers (1)

Praneeth Rajarikam
Praneeth Rajarikam

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

Related Questions