如何基于Laravel中两个表中存在的唯一列组合两个表

时间:2014-12-22 19:20:32

标签: php mysql 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中的查询生成器执行此操作。

1 个答案:

答案 0 :(得分:2)

试试这个:

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

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

Read the docs