Я пытаюсь объединить следующие итоги в новую коллекцию, чтобы использовать отчет, вспомогательный запрос для total_outbound не возвращает правильное количество для конкретного campaign_job_id
$campaign_jobs_summary = new Collection();
foreach ($campaign_jobs as $campaign_job) {
$campaign_job_totals = DB::table("campaign_jobs")
->select('campaign_jobs.deploy_date', 'campaign_jobs.campaign_id', 'campaign_jobs.id as campaign_job_id', 'campaign_jobs.start_time as local_start_time',
'campaign_jobs.start_time as local_start_time', 'campaign_jobs.start_time as local_start_time', 'campaign_jobs.start_time as local_start_time',
DB::raw("(select companies.name from companies join brands on brands.company_id = companies.id where brands.id =$campaign->brand_id) as company"),
DB::raw("(select count(id) from campaign_results where direction = 'outbound-api' and reCall = '0' and campaign_job_id =$campaign_job->id ) as total_outbound"),
DB::raw("(select count(id) as aggregate from campaign_results where com_platform_status = 'completed' and direction = 'outbound-api' and campaign_job_id = $campaign_job->id ) as total_answered")
)
->whereCampaignId(35)
->get();
$campaign_jobs_summary = $campaign_jobs_summary->push($campaign_job_totals);
}
return $campaign_jobs_summary;






Измените строку кода на
DB::raw("(select count(id) from campaign_results where direction = 'outbound-api' and reCall = '0' and campaign_job_id = ".$campaign_job->id." ) as total_outbound");
хорошо, проблема заключалась в возврате запроса как get (), а не в first () внутри цикла и изменении whereCampaignId на whereId с помощью campaign_jobs.id
это не изменило вывод