Я пытаюсь запросить вложенное отношение и получить количество удаленных моделей, я преобразовываю это в переменную, но этого не происходит:
$companies = Company::where('is_client', '=', 1)
// load count on distant model
->with(['interactionSummaries.interaction' => function ($q) {
$q->withCount(['contactsAssociation' => function ($q) {
$q->whereHas('company', function ($q) {
$q->where('type', 'like', 'Research');
});
}]);
}])
->get()
->transform(function ($company) {
$company->contacts_association_count = $company->interactionSummaries
->pluck('interaction.contacts_association_count')
->collapse()
->sum();
});
Когда я пытаюсь dd($companies)
или даже return $companies
, я получаю нулевые значения, помещенные в каждый индекс массива.
Но когда я делаю dd($company)
внутри трансформации
->transform(function ($company) {
$company->contacts_association_count = $company->interactionSummaries
->pluck('interaction.contacts_association_count')
->collapse()
->sum();
dd($company);
});
Я получаю единственную коллекцию, в которой говорится, что мой запрос выполняется правильно:
Если я удалю часть преобразования и просто получу коллекцию:
$companies = Company::where('is_client', '=', 1)
// load count on distant model
->with(['interactionSummaries.interaction' => function ($q) {
$q->withCount(['contactsAssociation' => function ($q) {
$q->whereHas('company', function ($q) {
$q->where('type', 'like', 'Research');
});
}]);
}])
->get()
Я получаю желаемый результат, но я не знаю, что происходит после выполнения преобразования. На самом деле это не выщипывание и добавление суммы, так как я получаю все 0 в подсчетах.
Я отметил их красным. Помогите мне в этом