Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mendapatkan Baris Terkini untuk Setiap ID Penjual Menggunakan Laravel Eloquent?

Bagaimana untuk Mendapatkan Baris Terkini untuk Setiap ID Penjual Menggunakan Laravel Eloquent?

Linda Hamilton
Lepaskan: 2024-11-29 08:47:09
asal
979 orang telah melayarinya

How to Get the Most Recent Row for Each Seller ID Using Laravel Eloquent?

Cara Memilih Baris Terkini untuk Setiap Seller_ID Menggunakan Laravel Eloquent

Masalah

Anda mempunyai jadual yang mengandungi data dengan seller_id dan lajur create_at. Anda hanya ingin mendapatkan baris terbaharu untuk setiap seller_id yang berbeza.

Penyelesaian

Menggunakan pembina pertanyaan Laravel Eloquent, anda boleh mencapai ini dengan menggunakan gabungan kiri dan keadaan whereNull. Begini caranya:

$subquery = DB::table('snapshot')
    ->where('seller_id', '=', 's1.seller_id')
    ->whereRaw('s.created_at < s1.created_at');

$query = DB::table('snapshot as s')
    ->select('s.*')
    ->leftJoinSub($subquery, 's1', function ($join) {
        $join->on('s.seller_id', '=', 's1.seller_id');
    })
    ->whereNull('s1.seller_id')
    ->get();
Salin selepas log masuk

Dalam pertanyaan ini:

  1. Subkueri mengenal pasti semua baris dalam jadual syot kilat yang mempunyai cap masa yang dibuat kemudian daripada baris semasa.
  2. Cantuman kiri menggabungkan jadual (s) utama dengan hasil subquery (s1).
  3. Keadaan whereNull menghapuskan baris di mana entri sepadan dalam subkueri wujud. Ini dengan berkesan menapis semua baris kecuali yang terkini untuk setiap seller_id.

Dengan melaksanakan pertanyaan ini, anda akan memperoleh koleksi baris terkini untuk setiap seller_id yang berbeza dalam jadual syot kilat.

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

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan