Bagaimana untuk Mengendalikan Baris Tidak Wujud dalam Fungsi Padam GORM?

Patricia Arquette
Lepaskan: 2024-10-26 19:24:29
asal
962 orang telah melayarinya

How to Handle Nonexistent Rows in GORM's Delete Function?

Mengelakkan Ralat Tiada dalam Fungsi Padam GORM

Dalam aplikasi GORM, percubaan untuk memadamkan baris yang tidak wujud tidak diiktiraf sebagai ralat. Untuk memastikan pengendalian ralat yang betul, adalah penting untuk memeriksa bilangan baris yang terjejas.

Pertimbangkan fungsi DeleteCategory berikut:

<code class="golang">var db *gorm.DB

func DeleteCategory(id uint) error {
    var category Category
    category.ID = id
    result := db.Delete(&category)
    fmt.Println("result.Error: ", result.Error)
    return result.Error
}</code>
Salin selepas log masuk

Memanggil fungsi ini beberapa kali dengan id yang sama tidak menghasilkan ralat, walaupun hanya memadamkan satu baris pada kali pertama. Ini kerana standard SQL tidak menganggap memadamkan baris yang tidak wujud sebagai ralat.

Untuk membetulkannya, tambahkan semakan untuk medan RowsAffected:

<code class="golang">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>
Salin selepas log masuk

Dengan pengubahsuaian ini, fungsi akan kembali ralat jika baris dengan id yang ditentukan tidak wujud.

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!

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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!