Laravel ialah rangka kerja web PHP popular yang popular di kalangan pembangun kerana ciri yang berkuasa dan kemudahan penggunaannya. Dalam pembangunan sebenar, kita sering perlu memadam data dalam pangkalan data. Artikel ini akan memperkenalkan cara menulis pemadaman dalam Laravel untuk membantu anda memahami dan menggunakan Laravel dengan lebih baik.
Laravel menyediakan pelbagai kaedah untuk memadamkan sekeping data, yang diperkenalkan di bawah.
(1) Gunakan kaedah delete() yang disertakan dengan model
Dalam Laravel, setiap model disertakan dengan kaedah delete() yang boleh digunakan untuk memadam pangkalan data yang sepadan dengan model . Berikut ialah contoh kod untuk menggunakan kaedah:
$user = User::find(1); $user->delete();
Dalam kod di atas, kami mula-mula menggunakan kaedah find() model Pengguna untuk mencari rekod dengan ID 1, dan kemudian panggil delete() kaedah untuk memadam rekod.
Perlu diambil perhatian bahawa kaedah delete() tidak menyemak sama ada model lain bergantung pada rekod, jadi anda perlu memastikan ia tidak dikaitkan dengan data lain sebelum memadamkan rekod.
(2) Gunakan kaedah destroy() ORM
ORM (Object-Relational Mapping) ialah teknologi yang memetakan objek kepada data dalam pangkalan data hubungan. Laravel mempunyai fungsi ORM terbina dalam, dan kaedah destroy() boleh digunakan untuk memadam rekod pangkalan data yang sepadan dengan model.
Berikut ialah contoh kod untuk memadamkan satu rekod menggunakan kaedah destroy() ORM:
User::destroy(1);
Dalam kod di atas, kami terus memanggil kaedah destroy() model Pengguna dan lulus dalam rekod untuk dipadamkan.
Perlu diambil perhatian bahawa kaedah destroy() juga tidak menyemak sama ada model lain bergantung pada rekod, jadi anda perlu memastikan ia tidak dikaitkan dengan data lain sebelum memadamkan rekod.
(3) Gunakan kaedah delete() Query Builder
Query Builder ialah pembina pernyataan SQL dalam Laravel berdasarkan panggilan berantai. Ia menyediakan banyak kaedah untuk mengendalikan pangkalan data, termasuk kaedah delete() untuk memadam data.
Berikut ialah contoh kod untuk memadamkan satu rekod menggunakan kaedah delete() Query Builder:
DB::table('users')->where('id', 1)->delete();
Dalam kod di atas, kami menggunakan fasad DB (Pangkalan Data) untuk memanggil jadual( ) kaedah untuk menentukan rekod yang akan dipadamkan Nama jadual data, kemudian gunakan kaedah where() untuk menentukan syarat yang hendak dipadam, dan akhirnya panggil kaedah delete() untuk melaksanakan operasi padam.
Perlu diambil perhatian bahawa kaedah delete() tidak akan mencetuskan peristiwa dan cangkuk model, jadi jika anda menggunakan fungsi ini, adalah disyorkan untuk menggunakan salah satu kaedah di atas.
Selain memadamkan satu rekod pangkalan data, Laravel juga menyediakan kaedah yang mudah untuk memadam data dalam kelompok. Berikut ialah pengenalan kepada dua kaedah pemadaman kelompok yang biasa digunakan.
(1) Gunakan kaedah delete() ORM
Kaedah delete() ORM bukan sahaja boleh memadamkan satu rekod, tetapi juga memadamkan berbilang rekod dalam kelompok. Berikut ialah contoh kod yang menggunakan kaedah ini untuk memadamkan rekod dalam kelompok:
User::where('age', '>', 18)->delete();
Dalam kod di atas, kami mula-mula menggunakan kaedah where() untuk menapis pengguna yang berumur lebih daripada 18 tahun, dan kemudian memanggil kaedah delete() untuk memadam rekod ini.
Perlu diambil perhatian bahawa kaedah delete() tidak akan mencetuskan peristiwa dan cangkuk model, jadi jika anda menggunakan fungsi ini, adalah disyorkan untuk menggunakan salah satu kaedah di atas.
(2) Gunakan kaedah delete() Query Builder
Kaedah delete() Query Builder juga boleh digunakan untuk memadam rekod dalam kelompok. Berikut ialah contoh kod yang menggunakan kaedah ini untuk memadam rekod dalam kelompok:
DB::table('users')->where('age', '>', 18)->delete();
Dalam kod di atas, kami menggunakan kaedah where() untuk menentukan syarat yang hendak dipadamkan dan menggunakan kaedah delete() untuk melaksanakan operasi pemadaman.
Perlu diambil perhatian bahawa kaedah delete() tidak akan mencetuskan peristiwa dan cangkuk model, jadi jika anda menggunakan fungsi ini, adalah disyorkan untuk menggunakan salah satu kaedah di atas.
Dalam pembangunan sebenar, kadangkala kita perlu menyimpan rekod data yang dipadamkan untuk pemulihan kemudian. Pada ketika ini, Soft Delete sangat berguna. Laravel mempunyai ciri padam lembut terbina dalam yang membantu kami memadamkan data dengan cara yang selamat.
Idea teras pelaksanaan pemadaman lembut adalah untuk menambah medan deleted_at dalam jadual pangkalan data untuk merekodkan masa pemadaman. Apabila menanyakan data, Laravel akan menapis rekod yang dipadam lembut secara automatik supaya ia tidak dipaparkan dalam hasil pertanyaan.
Berikut ialah contoh kod untuk melaksanakan pemadaman lembut menggunakan Laravel:
Pertama, anda perlu menggunakan ciri SoftDeletes dalam model:
<?php namespace App; use IlluminateDatabaseEloquentModel; use IlluminateDatabaseEloquentSoftDeletes; class User extends Model { use SoftDeletes; }
Kemudian, tambah deleted_at medan dalam pemindahan pangkalan data:
Schema::table('users', function (Blueprint $table) { $table->softDeletes(); });
Akhir sekali, gunakan kaedah delete() dalam pengawal untuk memadamkan data secara lembut:
$user = User::find(1); $user->delete();
Jika anda perlu memulihkan data yang dipadam, anda boleh menggunakan kaedah restore():
$user = User::withTrashed()->find(1); $user->restore();
Pemadaman lembut boleh membantu kami mengurus data yang dipadamkan dengan lebih baik tanpa perlu risau tentang pemadaman data secara tidak sengaja. Walau bagaimanapun, perlu diingatkan bahawa pemadaman lembut bukanlah penyelesaian universal Dalam sesetengah senario perniagaan, data perlu dipadam sepenuhnya untuk memastikan integriti dan keselamatan data.
Ringkasan
Laravel menyediakan pelbagai kaedah untuk memadam data, dan anda boleh memilih kaedah berbeza mengikut keperluan perniagaan tertentu. Dalam pembangunan sebenar, kita perlu mempertimbangkan dengan teliti sama ada akan menggunakan operasi seperti pemadaman lembut atau pemadaman kelompok berdasarkan situasi untuk memastikan integriti dan keselamatan data. Pada masa yang sama, perlu diingatkan bahawa pemadaman data boleh menjejaskan operasi biasa model atau fungsi lain, dan ujian dan pengesahan yang mencukupi diperlukan.
Atas ialah kandungan terperinci kaedah penulisan padam laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!