Saya ada dua meja: pembeli dan pesanan. Pembeli mempunyai banyak pesanan.
Saya mahukan jumlah semua pembeli dan bilangan pesanan serta dua lajur pesanan (harga, yuran) dalam tempoh masa tertentu. Saya boleh mendapatkan kiraan dengan melakukan perkara berikut,
Buyer::withCount([ 'orders' => fn ($query) => $query ->where('created_at', '>=', $dateTo) ]) ->get();
Tetapi bagaimana untuk mendapatkan jumlah (->where('created_at', '>=', $dateTo)
) bagi tempoh masa tertentu?
Dengan cara yang sama yang anda ada withSum() a>, ini adalah cara anda boleh melakukannya
Untuk menggunakan pembolehubah di dalam penutupan, anda perlu menggunakan
use()
untuk menghantar nilainya kepada fungsi.Untuk menggunakan
withSum({relation},{column})
anda perlu membuat panggilan berasingan untuk setiap satu.withSum()
Hanya tersedia dalam Laravel versi 8 atau lebih tinggi.EditSintaks Fungsi Anak Panah