Здравствуйте, посоветуйте как лучше реализовать
Нужно вытащить сумму успешных платежей во вложенном отношении
Вот мое текущее решение:
public function scopeWithCompletedPayments($query)
{
return $query->with(['leads.orders.payment' => function ($q) {
return $q->where('status', OrderPayment::STATUS_COMPLETED);
}]);
}
foreach ($lead->orders as $order) {
$payment = $order->payment;
$partner->sales_sum += $payment->price;
}
попробуй
withCount(['leads.orders.payment as sales_sum' => function($query) {
$query->select(DB::raw('sum(price)'))
->where('status', OrderPayment::STATUS_COMPLETED);
}])
но это не точно.