Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mendapatkan Baris Terkini untuk Setiap Penjual dalam Laravel Eloquent?

Bagaimana untuk Mendapatkan Baris Terkini untuk Setiap Penjual dalam Laravel Eloquent?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-25 16:15:02803semak imbas

How to Retrieve the Latest Row for Each Seller in Laravel Eloquent?

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!

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