【问题标题】:How to do a full join in Laravel Eloquent?如何完全加入 Laravel Eloquent?
【发布时间】:2019-03-14 07:48:08
【问题描述】:

如何在 laravel eloquent 中给定两个表 t1 和 t2 执行完全联接?

【问题讨论】:

  • 了解您的表格结构会有所帮助,以便为您提供帮助。你想完成什么?
  • 把Fulljoin SQL命令放到DB::select("your sql code here")中即可;
  • 你的意思是OUTER JOIN
  • Laravel Eloquent Join的可能重复

标签: php laravel eloquent


【解决方案1】:

大多数查询构建器连接函数都有一个名为$type ='inner'的可选参数
因此,如果您的数据库支持完全联接(例如:postgres),只需将“full”作为 $type 参数传递

【讨论】:

    【解决方案2】:

    如果您使用的是 MySQL。

    MySQL 没有对全外连接的内置支持。

    但是您可以使用下面这样的代码来实现。

    $table2 = DB::table('t2')
             ->rightJoin('t1', 't1.id', '=', 't2.t1_id')
    
    $table1 = DB::table('t1')
            ->leftJoin('t2', 't1.id', '=', 't2.t1_id')
            ->unionAll($table1)
            ->get();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-17
      • 2021-12-11
      • 2018-08-16
      • 2022-01-13
      • 2019-10-06
      • 1970-01-01
      • 2021-07-03
      • 2022-01-25
      相关资源
      最近更新 更多