如何根据 Laravel 中两个表中存在的唯一列合并两个表


How to combine two tables based on a unique column that exists in both tables in Laravel

我在同一个数据库中有 2 个表。两个表都有一个具有完全相同的唯一 ID 的列。如何组合表以查询 Laravel 中的行?

例如

table 1
--------------------
| ID | val1 | val2 |
--------------------
| 1  |  a   |   b  |
--------------------
| 2  |  c   |   d  |
--------------------
table 2
-------------
| ID | val3 |
-------------
| 1  |  x   |
-------------
| 2  |  y   |
-------------

我如何查询上述内容以便它返回...

return query
---------------------------
| ID | val1 | val2 | val3 |
---------------------------
| 1  |  a   |   b  |   x  |
---------------------------
| 2  |  c   |   d  |   y  |
---------------------------

我想知道如何在 Laravel 中的查询生成器中执行此操作。

试试这个:

DB::table('table1')->join('table2', 'table1.ID', '=', 'table2.ID')
    ->select('table1.ID', 'val1', 'val2', 'val3')
    ->get();

select()部分不是必需的,但如果删除它,您将获得所有列(在这种情况下是两倍ID(

阅读文档