【发布时间】:2014-12-12 22:23:07
【问题描述】:
这个真的很复杂,那我就举个例子方便一下。
假设我们有 4 张桌子:车库、汽车、证券、场所。
garages 是您可以找到cars 的地方,securities 是确保汽车在车库内安全的安全措施,places 是您可以找到与该车库类似的车库的地方。然后我们就有了一张这样的桌子。
车库桌:
-----------------------------------
|garage_id|garage_name|garage_size|
-----------------------------------
| 1| Garage 1| 200|
-----------------------------------
| 2| Garage 2| 400|
-----------------------------------
汽车表:
---------------------------
|car_id|car_name|garage_id|
---------------------------
| 1| Car 1| 1|
---------------------------
| 2| Car 2| 1|
---------------------------
| 3| Car 3| 2|
---------------------------
证券表:
----------------------------------
|security_id|security_name|car_id|
----------------------------------
| 1| Security 1| 1|
----------------------------------
| 2| Security 2| 1|
----------------------------------
| 3| Security 3| 2|
----------------------------------
| 4| Security 4| 3|
----------------------------------
放置表:
-------------------------------
|place_id|place_name|garage_id|
-------------------------------
| 1| place 1| 1|
-------------------------------
| 2| place 2| 1|
-------------------------------
| 3| place 3| 1|
-------------------------------
| 4| place 4| 2|
-------------------------------
| 5| place 5| 2|
-------------------------------
我想要的是列出车库并加入三个表,即汽车、证券和地点,如下所示:
车库 1 有 2 辆有 3 个证券的汽车,还有 3 个类似的车库
车库 2 有 1 辆有 1 证券的汽车,还有 2 个类似的车库
现在你可能会问,为什么Garage 1 有 3 个证券?因为Garage 1 有Car 1 和Car 2 和Car 1 有两个证券Security 1 和Security 2 和Car 2 有1 个是Security 3。
这里的问题是:如何连接表并在一个查询中计数并返回结果,就像您在上面看到的那样?
【问题讨论】:
标签: php mysql laravel eloquent