mysql - 以 laravel 查询或雄辩的方式获得所需结果的最佳方法
问题描述
我有以下架构:
在哪里可以看到
1 category = multiple amenities,
1 amenities = multiple amenity_values
1 amenity_values = multiple units_amenities_values
multiple units_amenities_values = 1 units
我的要求
需要查找是否有超过 1 个来自同一类别的便利设施属于同一单元,以及单元内是否有两个或多个来自同一类别的便利设施。我们需要创建一个包名称,例如:amenity1 - amenity2
.
为了更清楚,我有以下数据。
类别
id | category_name
1 | CatA
2 | CatB
便利设施
id | amenity_name | category_id
1 | Am1A | 1
2 | Am2A | 1
3 | Am1B | 2
amenity_values
id | amenity_value | amenity_id
1 | 10 | 1
2 | 15 | 1
3 | 20 | 2
4 | 30 | 3
units_amenities_values
id | amenity_value_id | unit_id
1 | 1 | 1
2 | 2 | 2
3 | 3 | 1
4 | 4 | 3
单位
id | unit_number
1 | 101
2 | 201
3 | 301
在此示例中,您可以看到 amenity:Am1A
并且Am2A
都属于同一类别CatA
,并且它们都在 unit_number101
所以,在这种情况下,我需要得到:
[
[
'unit_id' => 1
'category_id' => 1
'amenity_name' => 'Am1A - Am2A'
]
]
如果您需要任何详细信息,请告诉我。
解决方案
推荐阅读
- r - 如何用 R 数据框中的数字替换字符值?
- css - Bootstrap 4 SCSS - 更改导航栏菜单颜色?
- c# - Visual Studio 2017 中的 Pythonnet
- wordpress - 如何在古腾堡的“文档”下添加新面板
- python - 树遍历的默认参数中未定义 Python Self
- php - 警告:fopen():文件名不能为空
- php - 声明命令以使用 PHP 显示 foreach 输出
- button - 当用户单击浏览器的前进和后退按钮时,emberJS 重置表单字段
- android - (Volley) Post 方法后如何处理返回的 JsonObject
- opencl - 为什么全局内存分配成功且大小超过 GPU 的限制?