【问题标题】:Is it possible to join table as below in Laravel?是否可以在 Laravel 中加入如下表格?
【发布时间】:2019-04-26 17:07:49
【问题描述】:

如何在 laravel 中连接两个具有多列的表,类似于以下查询:

SELECT
    *
FROM
    tab1 AS e
INNER JOIN
    tab2 AS v ON v.Case1 = e.Case1 and v.id = e.id;

我在谷歌上搜索过,但找不到任何方法。

这是我目前尝试过的代码:

DB::table('tab1 as e')
    ->join('tab2 as v', 'v.Case1', '=', 'e.Case1', 'and', 'v.id', '=', 'e.id')
    ->get();

【问题讨论】:

  • 你有没有尝试过?
  • 一切皆有可能。到目前为止,您尝试过什么?您可以使用Db::select('SELECT * FROM tab1 as e INNER JOIN tab2 as v ON v . Case1 = e . Case1 and v . id = e . id;'); 使用上述查询
  • 我使用了查询构建器连接功能,但它给出了错误
  • laravel.com/docs/queries#joins: "高级连接子句"
  • 你能展示你尝试过的代码吗?

标签: mysql laravel laravel-5.6


【解决方案1】:

您是否尝试过以下方法?

DB::table('tab1 as e')
->join('tab2 as v', function($join)
{
   $join->on('v.Case1', '=', 'e.Case1');
   $join->on('v.id','=', 'e.id');

})
->get();

【讨论】:

    【解决方案2】:

    这就是你必须绕过它的方法,它必须有效。 以我做的这个例子为例,它有效

     $categ =  DB::connection('mysql')->table('SubCategories')
                     ->leftJoin('Categories', 'Categories.id', '=', 'SubCategories.categories_id')
                ->select('SubCategories.id','SubCategories.Code','SubCategories.Name','SubCategories.Description','Categories.Name as CategoryName'
                  )
                ->get();
    
    DB::connection('your connection from app.php file')table('tab1 as e')
        ->join('tab2 as v', 'v.Case1', '=', 'e.Case1', 'and', 'v.id', '=', 'e.id')
        ->Select('your select statement'),
        ->get();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-14
      • 1970-01-01
      • 2013-03-09
      • 2013-10-12
      • 2019-11-01
      • 1970-01-01
      相关资源
      最近更新 更多