Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Memilih Jualan Terkini untuk Setiap Penjual dalam 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!