Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mendapatkan Contoh atau ID Item Terakhir Ditambah dalam GORM?

Bagaimana untuk Mendapatkan Contoh atau ID Item Terakhir Ditambah dalam GORM?

Susan Sarandon
Susan Sarandonasal
2024-10-30 21:17:03574semak imbas

How to Get the Instance or ID of the Last Added Item in GORM?

Mendapatkan Contoh Item Terakhir Ditambah dalam GORM

Apabila bekerja dengan backend MySQL dalam Go menggunakan perpustakaan GORM, terdapat situasi di mana anda mungkin perlu mendapatkan contoh atau ID baris terakhir yang dimasukkan semasa operasi Cipta. Ini boleh berguna untuk menjejak item yang paling baru ditambah dan melakukan tindakan seterusnya berdasarkan sifatnya.

PENYELESAIAN

GORM memudahkan proses mendapatkan ID yang terakhir dimasukkan. Secara lalai, GORM menetapkan kunci utama objek yang baru dibuat dengan nilai daripada operasi sisipan terakhir. Oleh itu, anda boleh mengakses ID atau keseluruhan objek secara terus menggunakan langkah berikut:

  1. Tentukan struct yang mewakili jadual pangkalan data anda, memastikan ia termasuk medan kunci utama (biasanya integer bernama "Id") .
  2. Buat contoh struct ini dan isikan medan bukan kunci utamanya.
  3. Gunakan kaedah "Simpan" GORM untuk memasukkan baris baharu ke dalam pangkalan data.
  4. Selepas operasi "Simpan", medan "Id" struct anda akan diisi secara automatik dengan ID baris terakhir yang dimasukkan.

CONTOH

Pertimbangkan model GORM dan coretan kod berikut:

<code class="go">type User struct {
  Id int
  Name string
}

user := User{Name: "jinzhu"}
db.Save(&user)
fmt.Println(user.Id) // Prints the last inserted ID</code>

Dalam contoh ini, kaedah "Simpan" memasukkan tika "Pengguna" ke dalam pangkalan data dan secara automatik menetapkan medan "Id" dengan nilai daripada operasi sisipan terakhir. Anda kemudiannya boleh mengakses sifat "Id" untuk mendapatkan kunci utama baris yang baru dibuat.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Contoh atau ID Item Terakhir Ditambah dalam GORM?. 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