Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mengendalikan Baris Tidak Wujud dalam Fungsi Padam GORM?

Bagaimana untuk Mengendalikan Baris Tidak Wujud dalam Fungsi Padam GORM?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-27 10:26:30978semak imbas

How to Handle Non-Existent Rows in GORM's Delete Function?

Mengendalikan Ralat dalam Fungsi Padam GORM

Apabila bekerja dengan pemadaman pangkalan data menggunakan GORM, adalah penting untuk mempertimbangkan cara anda mahu mengendalikan yang tidak wujud barisan. Secara lalai, GORM tidak membuang ralat apabila cuba memadamkan baris yang tidak wujud. Sebaliknya, hasil. Medan ralat kekal sifar.

Untuk mengubah tingkah laku ini dan mengembalikan ralat untuk baris yang tidak wujud, anda perlu memeriksa medan RowsAffected. Begini cara anda boleh mengubah suai fungsi DeleteCategory anda:

<code class="go">func DeleteCategory(id uint) error {
    c := Category{ID: id}

    db := db.Delete(&c)
    if db.Error != nil {
        return db.Error
    } else if db.RowsAffected < 1 {
        return fmt.Errorf("row with id=%d cannot be deleted because it doesn't exist", id)
    }

    return nil
}</code>

Dalam fungsi yang diubah suai ini:

  1. Kaedah Padam GORM digunakan, memperuntukkan hasil kepada db.
  2. Jika db.Error bukan nol, ralat dikembalikan.
  3. Selepas mengesahkan bahawa tiada ralat umum, db.RowsAffected diperiksa. Jika kurang daripada 1, menunjukkan bahawa tiada baris terjejas oleh operasi pemadaman, mesej ralat tersuai dikembalikan.
  4. Nilai ralat sifar dikembalikan jika pemadaman baris berjaya.

Atas ialah kandungan terperinci Bagaimana untuk Mengendalikan Baris Tidak Wujud dalam Fungsi Padam 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