查询用雄辩的相关记录

问题描述 投票:0回答:1

所以,我有两个数据库: - 塔站点的列表。 - 接入点的列表,在这些网站上。 (有些网站没有接入点)。

所以说我有sitesABC),其中有site_id123的。

网站A3接入点,B4,并C0

所以,我想一个表,仅返回接入点的地点。因此,A和B只能返回。

我对每一个模型都有自己的所有信息,并通过在网站ID和SITE_ID在AccessPoints他们联系。

什么是用洋洋洒洒运行良好查询?

现在,我正在运行:

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

只是给一些见解。状态是生产就是告诉数据库的接入点是否仍然存在,并且正在使用。所以生产意味着它仍然存在。所以没有访问点与生产状况任何网站不应该显示。

在与(AccessPoints.Associations)是连接第三个表来获得使用其正常工作的每个接入点的人数第二查询。但查询的第一部分是没有的。我仍然获得与被停用或没有在所有APS APS网站。

php laravel eloquent
1个回答
0
投票

您当前的查询会给你所有的接入点,因为你没有拥有的条件。下面会给你你想要的结果:

<?php 

$sites = Sites::whereHas('AccessPoints', function($q){
    $q->where('status', '=', 'production');
})
->with('AccessPoints.Associations')
->orderBy('name', 'asc')
->get();
© www.soinside.com 2019 - 2024. All rights reserved.