【问题标题】:Alias in LaravelLaravel 中的别名
【发布时间】:2018-01-04 07:05:48
【问题描述】:

如何在 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                  |
+----+--------------+-------------+--------------------------+

更新

我找到了问题的原因,原因是MISPELLEDtableTbl_payroll_employee_basic应该是tbl_payroll_employee_baisc。因此,请务必仔细检查所有表格的拼写。

【问题讨论】:

  • @MKhalidJunaid 我编辑了,那里没有 digimahouse。我的错。我的语法在使用alias 先生时是否正确?
  • 您的查询看起来不错确保您已执行所有迁移
  • @MKhalidJunaid 您好先生,我找到了错误的原因。 "Tbl_payroll_employee_basic" 应该是 "tbl_payroll_employee_basic"。谢谢你说语法是正确的。所以我仔细检查了表名。我应该删除这个帖子吗?
  • 我猜你不需要删除你的帖子,而是你可以更新你的问题并添加错误原因

标签: php sql database laravel laravel-eloquent


【解决方案1】:

Laravel 支持使用 AS 的表和列的别名。在执行查询之前尝试使用别名,并将其存储在变量中并在查询中使用它。下面是 laravel 中别名的一个工作示例。

$users = DB::table('some_very_very_long_table_name AS t')
           ->select('t.id AS uid')
           ->get();

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 2020-03-02
    • 1970-01-01
    • 2015-07-31
    • 2019-09-14
    • 2015-07-06
    • 2014-11-24
    • 2013-07-22
    • 2015-01-08
    • 2013-06-15
    相关资源
    最近更新 更多