laravel 中的两个表连接和计算第二个表列

Posted

技术标签:

【中文标题】laravel 中的两个表连接和计算第二个表列【英文标题】:Two table join & count second tables column in laravel 【发布时间】:2021-10-13 19:48:38 【问题描述】:

我有两张表,一张是州,另一张是城市表。现在我想将状态表 state_id 与城市表 state_id 连接起来。然后我想获取带有可用城市的州表数据以及该州的数量。 NB:the query will be write with laravel query builder / eloquent 状态表:

state_id| state_name 
--------+------------
 1      | state a
 2      | state b
 3      | state c

城市表:

city_id| city_name| state_id|
-------+------------+-----------+
 1     | city a| 1|
 2     | city b| 2|
 3     | city c| 1|

【问题讨论】:

【参考方案1】:
$data = \App\Models\State::select('states.state_id', 'states.state_name', DB::raw("count(cities.id) as city_count"))
                                            ->leftjoin('cities', function($join)
                                                $join->on('states.state_id', '=', 'cities.state_id');
                                            )
                                            ->get();

【讨论】:

以上是关于laravel 中的两个表连接和计算第二个表列的主要内容,如果未能解决你的问题,请参考以下文章

Oracle:将两个表与一个公共列加上第二个表中的一个附加列(最新生效日期)连接以选择其他列

如何加入/子查询第二个表

如何在不计算第二个表中的双打的情况下建立连接? [复制]

如何将两个表与 SQL Server 中第二个表中引用同一列的两列连接起来

Excel:使用一个表中的值在第二个表中查找值

Laravel Controller SQL:连接两个表使输出相乘