所以我有两个数据库: -塔站点列表。 -这些站点上的访问点列表。 (某些站点没有访问点。)
假设我有sites
,{{1}的A
(B
,C
,site_id
) }},1
。
站点2
具有3
个访问点,A
具有3
,而B
具有4
。
所以我想要一个仅返回具有访问点的站点的表。因此,只应返回A和B。
我有一个模型,每个模型都有其所有信息,并通过Sites中的ID和AccessPoints中的site_id链接它们。
使用Eloquent进行查询将是一个很好的查询吗?
现在我正在跑步:
C
只提供一些见解。正在生产的状态告诉数据库访问点是否仍然存在并且正在使用中。因此生产意味着它仍然存在。因此,没有具有生产状态的访问点的任何站点都不应显示。
with(AccessPoints.Associations)是第二个查询,该查询链接第三张表,以获取使用正常工作的每个访问点的人数。但是查询的第一部分不是。我仍在使用已退役或根本没有APS的APS网站。
答案 0 :(得分:0)
您当前的查询将为您提供所有访问点,因为您没有条件。以下将为您提供所需的结果:
<?php
$sites = Sites::whereHas('AccessPoints', function($q){
$q->where('status', '=', 'production');
})
->with('AccessPoints.Associations')
->orderBy('name', 'asc')
->get();