【问题标题】:How to do self join in query builder no eloquent如何在查询构建器中进行自我加入没有雄辩
【发布时间】:2020-07-10 09:11:04
【问题描述】:

很难使用查询构建器进行自联接,但在使用toSql()get() 时得到意外结果或查询,请不要建议雄辩,只需使用原始查询的查询构建器。

试图让所有子菜单跟随其父菜单。 id 列也需要

$users = DB::table('all_menus as A all_menus as B')
->select(DB::raw('A.menu_name__v1 As menu_name_parent, B.menu_name__v1 As menu_name_child'))
->where('A.id', '=' 'B.parent_menu_id__v1')
->toSql();

【问题讨论】:

  • 你能试试加入吗...
  • 只需使用join()

标签: php laravel laravel-query-builder


【解决方案1】:

join() 方法支持定义别名,因此您可以像这样查询使用别名进行自连接:

$users = DB::table('all_menus as A')
           ->join('all_menus as B', 'A.id', '=', 'B.parent_menu_id__v1')
           ->select('A.menu_name__v1 AS menu_name_parent', 'B.menu_name__v1 AS menu_name_child')
           ->toSql();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-15
    • 1970-01-01
    • 2019-12-09
    • 2021-11-09
    • 2020-02-07
    • 2019-01-18
    • 1970-01-01
    相关资源
    最近更新 更多