Mengambil Baris Terkini untuk Setiap ID Penjual dalam Laravel Eloquent
Artikel ini menangani cabaran mendapatkan semula baris terbaru untuk setiap penjual unik di jadual pangkalan data. Kami akan meneroka penyelesaian menggunakan ORM Laravel Eloquent untuk mencapai matlamat ini.
Jadual yang diberikan mengandungi data untuk jualan, termasuk ID penjual, jumlah dan cap masa penciptaan. Untuk mendapatkan baris terbaharu bagi penjual tertentu, pertanyaan boleh ditulis sebagai:
<code class="php">$sales = Snapshot::where('seller_id', '=', 15) ->orderBy('created_at', 'DESC') ->first();</code>
Untuk melanjutkan fungsi ini untuk mendapatkan semula baris terkini untuk semua penjual, kami menggunakan pertanyaan yang lebih maju. Pertanyaan berikut menggunakan subkueri untuk mengenal pasti baris terkini bagi setiap penjual:
<code class="sql">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
Untuk menggunakan pertanyaan ini dalam pembina pertanyaan Laravel, kod berikut boleh dilaksanakan:
<code class="php">DB::table('snapshot as s') ->select('s.*') ->leftJoin('snapshot as s1', function ($join) { $join->on('s.seller_id', '=', 's1.seller_id') ->whereRaw(DB::raw('s.created_at < s1.created_at')); }) ->whereNull('s1.seller_id') ->get();</code>
Melalui penyelesaian ini, anda boleh mendapatkan semula baris terkini untuk setiap penjual dalam jadual pangkalan data dengan cekap, memberikan akses mudah kepada data paling terkini untuk aplikasi anda.
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Baris Terkini untuk Setiap Penjual dalam Laravel Eloquent?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!