使用雄辩的

时间:2019-02-05 16:58:33

标签: php laravel eloquent

所以我有两个数据库: -塔站点列表。 -这些站点上的访问点列表。 (某些站点没有访问点。)

假设我有sites,{{1}的ABCsite_id) }},1

站点2具有3个访问点,A具有3,而B具有4

所以我想要一个仅返回具有访问点的站点的表。因此,只应返回A和B。

我有一个模型,每个模型都有其所有信息,并通过Sites中的ID和AccessPoints中的site_id链接它们。

使用Eloquent进行查询将是一个很好的查询吗?

现在我正在跑步:

C

只提供一些见解。正在生产的状态告诉数据库访问点是否仍然存在并且正在使用中。因此生产意味着它仍然存在。因此,没有具有生产状态的访问点的任何站点都不应显示。

with(AccessPoints.Associations)是第二个查询,该查询链接第三张表,以获取使用正常工作的每个访问点的人数。但是查询的第一部分不是。我仍在使用已退役或根本没有APS的APS网站。

1 个答案:

答案 0 :(得分:0)

您当前的查询将为您提供所有访问点,因为您没有条件。以下将为您提供所需的结果:

<?php 

$sites = Sites::whereHas('AccessPoints', function($q){
    $q->where('status', '=', 'production');
})
->with('AccessPoints.Associations')
->orderBy('name', 'asc')
->get();