Merhaba,
Aşağıdaki bir sorgum var.
$orders = Order::with(['orderDetails.orderItems.payment'])
->whereHas('orderDetails', function ($q) {
return $q->where('status', 'delivered');
})
->whereHas('orderDetails.orderItems.payment', function ($q) use ($startDate, $endDate) {
return $q->whereIn('status', ['paid', 'not_paid'])
->whereBetween('maturity_date',
[$startDate, $endDate]
);
})
->get();
Buradaki tüm işlemler doğru ve çalışıyor. Bunu da şu şekilde kullanıyorum. Örnek;
foreach ($orders as $order) {
foreach ($order->orderDetails as $detail) {
foreach ($detail->orderItems as $item) {
echo $item->payment->seller_progress_payment.'<br>';
}
}
}
Yalnız son ilişkilide$item->payment
dediğim kısımı belirli bir column'daki tarihe göre DESC olarak sıralamak istiyorum.
Fakat yukarıdaki->whereHas('orderDetails.orderItems.payment', function ($q) use ($startDate, $endDate) {
içerisinde orderByDesc yazıyorum fakat işe yaramıyor. Bunu nasıl yapabilirim?