是否可以在Laravel中加入如下table?
Is it possible to join table as below in Laravel?
如何在 laravel 中连接两个具有多列的表,类似于下面的查询:
SELECT
*
FROM
tab1 AS e
INNER JOIN
tab2 AS v ON v.Case1 = e.Case1 and v.id = e.id;
我在 google 中搜索过,但找不到任何方法。
这是我目前试过的代码:
DB::table('tab1 as e')
->join('tab2 as v', 'v.Case1', '=', 'e.Case1', 'and', 'v.id', '=', 'e.id')
->get();
您尝试过以下方法吗?
DB::table('tab1 as e')
->join('tab2 as v', function($join)
{
$join->on('v.Case1', '=', 'e.Case1');
$join->on('v.id','=', 'e.id');
})
->get();
这就是您必须绕过它的方式,它必须有效。
以我做的这个例子为例,它有效
$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();
如何在 laravel 中连接两个具有多列的表,类似于下面的查询:
SELECT
*
FROM
tab1 AS e
INNER JOIN
tab2 AS v ON v.Case1 = e.Case1 and v.id = e.id;
我在 google 中搜索过,但找不到任何方法。
这是我目前试过的代码:
DB::table('tab1 as e')
->join('tab2 as v', 'v.Case1', '=', 'e.Case1', 'and', 'v.id', '=', 'e.id')
->get();
您尝试过以下方法吗?
DB::table('tab1 as e')
->join('tab2 as v', function($join)
{
$join->on('v.Case1', '=', 'e.Case1');
$join->on('v.id','=', 'e.id');
})
->get();
这就是您必须绕过它的方式,它必须有效。 以我做的这个例子为例,它有效
$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();