Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Memilih Jualan Terkini untuk Setiap Penjual dalam Laravel Eloquent?

Bagaimana untuk Memilih Jualan Terkini untuk Setiap Penjual dalam Laravel Eloquent?

Susan Sarandon
Susan Sarandonasal
2024-11-30 06:02:131049semak imbas

How to Select the Latest Sale for Each Seller in Laravel Eloquent?

Memilih Semua Baris dengan Maksimum Created_at Value untuk Setiap seller_id dalam Laravel Eloquent

Jadual anda mengandungi senarai transaksi jualan dengan lajur termasuk id, id_penjual, jumlah dan dicipta_di. Untuk mendapatkan semula baris terbaharu bagi setiap seller_id unik, anda boleh menggunakan teknik berikut:

Menggunakan Pertanyaan SQL

Untuk melaksanakan pertanyaan SQL tersuai secara terus, anda boleh gunakan fasad DB dalam Laravel:

$latestSales = DB::select(DB::raw('
    SELECT s.*
    FROM snapshot s
    LEFT JOIN snapshot s1 ON s.seller_id = s1.seller_id
    AND s.created_at < s1.created_at
    WHERE s1.seller_id IS NULL
'));

Menggunakan Eloquent Query Builder

Sebagai alternatif, anda boleh menggunakan pembina pertanyaan Laravel untuk mencapai hasil yang sama:

$latestSales = DB::table('snapshot as s')
    ->select('s.*')
    ->leftJoin('snapshot as s1', function ($join) {
        $join->on('s.seller_id', '=', 's1.seller_id')
            ->whereRaw('s.created_at < s1.created_at');
    })
    ->whereNull('s1.seller_id')
    ->get();

Kedua-dua teknik akan mengambil semua baris dengan nilai created_at maksimum untuk semua nilai seller_id unik dalam meja anda.

Atas ialah kandungan terperinci Bagaimana untuk Memilih Jualan Terkini untuk Setiap Penjual dalam Laravel Eloquent?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn