Я пытаюсь выяснить, возможно ли это, но я хотел бы получить сумму поля в элементе в коллекции коллекций.
В моем контроллере есть следующее:
$prefiltered_contacts = Contact::with(['donations' => function ($query) use ($request) {
$query->whereMonth('date_received', $request->month)
->whereYear('date_received', $request->year);
}])->get();
$contacts = $prefiltered_contacts ->filter(function ($contact) {
return $contact->donations->isNotEmpty();
});
У моего класса пожертвований есть следующее:
public function monetary_donations(){
return $this->hasMany('App\Payments_Distribution', 'donation_id','id');
}
Теперь последняя часть этого заключается в том, что в классе Payments_Distribution
есть поле с названием amount
.
Если бы я исходил из модели пожертвований, я бы получил сумму денежных пожертвований как $donation->monetary_donations->sum('amount');
и получил бы эту сумму. Но как мне поступить с моделью Contact? Или это даже возможно, если учесть, что для сбора денежных пожертвований потребуется пройти через сбор пожертвований? Я пытаюсь получить отчет обо всех пожертвованиях контактов (и денежных пожертвований) и вывести промежуточные итоги денежных пожертвований за этот конкретный период.