Ich versuche, eine verschachtelte Beziehung abgefragt werden und die Anzahl der entfernten Modell Zählung immer, ich dies auf eine Variable umzuwandeln, aber es ist nicht passiert:Wie Laravel Erhebungsmethoden verwenden
$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();
});
Als ich versuchen zu dd($companies)
oder sogar return $companies
I nULL-Werte erhalten in jedem Array-Index platziert
Aber wenn ich dd($company)
tun innen verwandeln
->transform(function ($company) {
$company->contacts_association_count = $company->interactionSummaries
->pluck('interaction.contacts_association_count')
->collapse()
->sum();
dd($company);
});
ich die einzige Sammlung erhalten, die meine Anfrage heißt es läuft richtig:
Wenn ich Teil entfernen verwandeln und einfach die Sammlung erhalten:
$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()
Ich erhalte die gewünschte Ausgabe, aber ich weiß nicht, was es nach der Ausführung der Transformation passiert. In der Tat ist es nicht zupfen und addieren die Summe, wie ich alle 0 in den Zählungen bekomme.
Ich habe sie mit rot markiert. Hilf mir dabei
Ich habe die Frage aktualisiert, die Sammlung tut nicht die Summe wie gewünscht. –
Also, was hast du? Konnten Sie es beheben? –