Rumah > rangka kerja php > Laravel > Cara mengemas kini data dalam laravel (analisis ringkas kaedah)

Cara mengemas kini data dalam laravel (analisis ringkas kaedah)

PHPz
Lepaskan: 2023-04-06 17:10:49
asal
2255 orang telah melayarinya

Laravel ialah rangka kerja PHP popular yang digunakan secara meluas dalam pembangunan web. Dalam Laravel, mengemas kini data adalah tugas yang sangat biasa, jadi menguasai cara mengemas kini data adalah kemahiran asas yang mesti ada pada setiap pembangun Laravel. Artikel ini akan memperincikan cara mengemas kini data dalam Laravel.

Laravel menyediakan banyak cara untuk mengemas kini data, terutamanya memfokuskan pada dua aspek: Model fasih dan pembina pertanyaan.

Model fasih ialah alat ORM (Pemetaan hubungan objek) Laravel, yang membolehkan kami memetakan jadual pangkalan data ke dalam objek PHP dan menyediakan satu set API yang mudah digunakan dan intuitif untuk mengendalikan objek ini. Pelaksanaan pengemaskinian data menggunakan model Eloquent adalah sangat mudah. Berikut ialah langkah asas untuk mengemas kini data menggunakan model Eloquent:

  1. Pertama, kita perlu mencipta kelas model Eloquent untuk mewakili jadual pangkalan data yang ingin kita kemas kini. Kita boleh menggunakan alat baris arahan Artisan untuk mencipta kelas model Eloquent:
php artisan make:model User
Salin selepas log masuk

Ini akan mencipta kelas model Eloquent bernama Pengguna dalam direktori aplikasi/Model.

  1. Kemudian kita boleh menggunakan kaedah statik find() atau findOrFail() kelas model Eloquent untuk mencari rekod yang ingin kita kemas kini. Kaedah ini akan mengembalikan objek model Eloquent yang mewakili rekod dalam jadual pangkalan data yang sepadan dengan ID yang diberikan. Contohnya, kod berikut mencari rekod pengguna mengikut ID:
$user = User::find(1);
Salin selepas log masuk

Dalam kod di atas, kami menemui rekod pengguna dengan ID 1. Jika rekod tidak wujud, kaedah find() akan mengembalikan null dan kaedah findOrFail() akan membuang pengecualian.

  1. Seterusnya, kita boleh menggunakan sifat objek model Eloquent untuk mengemas kini rekod. Sebagai contoh, kod berikut akan menukar nama pertama pengguna daripada "John" kepada "Jane":
$user->name = 'Jane';
$user->save();
Salin selepas log masuk

Dalam kod di atas, kami mula-mula menukar nilai atribut nama kepada "Jane " , dan kemudian memanggil kaedah save() objek model untuk menyimpan semula perubahan ke pangkalan data.

  1. Akhir sekali kita boleh menyemak sama ada kemas kini berjaya, contohnya kita boleh mengeluarkan rekod yang dikemas kini untuk memastikan ia telah dikemas kini dengan jayanya:
echo $user;
Salin selepas log masuk

dalam di atas Dalam kod, kami hanya mengeluarkan objek $user, dan Laravel secara automatik akan menukarnya menjadi rentetan untuk output yang mudah.

Langkah di atas menunjukkan cara menggunakan model Eloquent untuk mengemas kini rekod pangkalan data. Dari perspektif aplikasi kehidupan sebenar, kami mungkin perlu mengemas kini berbilang rekod pangkalan data, bukan hanya satu rekod. Selain itu, kami mungkin perlu mengemas kini rekod pangkalan data berdasarkan set syarat penapis yang kompleks. Untuk kes ini, Laravel menyediakan API pembina pertanyaan yang lebih fleksibel dan berkuasa.

Pembina pertanyaan ialah satu lagi ciri utama Laravel. Ia membolehkan kami membina pertanyaan pangkalan data yang kompleks dan boleh digunakan semula dan menyediakan API yang kaya untuk melaksanakan pelbagai operasi pangkalan data, termasuk operasi kemas kini. Berikut ialah langkah asas untuk mengemas kini data menggunakan pembina pertanyaan:

  1. Pertama, kita perlu membina pertanyaan untuk menentukan rekod yang ingin kita kemas kini. Kita boleh melakukan ini menggunakan Pembina Jadual atau Pembina Pertanyaan. Di sini, kami mengambil pembina pertanyaan sebagai contoh. Katakan kita ingin mengemas kini semua rekod bernama "John" dalam jadual pengguna Kita boleh membina pertanyaan seperti ini:
DB::table('users')
   ->where('name', '=', 'John')
   ->update(['name' => 'Jane']);
Salin selepas log masuk

Kod di atas memanggil berbilang kaedah secara berantai. Mula-mula, kami menggunakan kaedah table() untuk menentukan jadual untuk ditanya, dan kemudian menggunakan kaedah where() untuk menambah keadaan penapis untuk mengemas kini hanya rekod bernama "John". Akhir sekali, kami menggunakan kaedah kemas kini() untuk menukar nama "John" kepada "Jane".

  1. Satu lagi perkara penting ialah penggunaan transaksi. Apabila mengemas kini berbilang rekod, kami perlu memastikan semua operasi kemas kini selesai dengan jayanya, jika tidak, kami perlu melancarkan semula semua perubahan. Laravel membenarkan kami menggunakan urus niaga untuk memastikan keatoman operasi. Berikut ialah contoh kod menggunakan transaksi:
DB::transaction(function () {
    DB::table('users')
        ->where('name', '=', 'John')
        ->update(['name' => 'Jane']);

    DB::table('orders')
        ->where('user_id', '=', 1)
        ->update(['status' => 'completed']);
});
Salin selepas log masuk

Dalam kod di atas, kami menggunakan kaedah transaction() untuk membungkus set operasi kemas kini dalam transaksi. Ini akan memastikan semua operasi kemas kini selesai dengan jayanya, jika tidak, transaksi akan melancarkan semula semua perubahan.

Ringkasnya, Laravel menyediakan pembangun API yang fleksibel dan berkuasa untuk mengemas kini rekod dalam pangkalan data dengan cekap. Artikel ini membincangkan langkah asas untuk mengemas kini data menggunakan model Eloquent dan pembina pertanyaan serta menerangkan cara menggunakan urus niaga untuk memastikan atomicity operasi. Menguasai kemahiran ini akan membolehkan pembangun Laravel mengendalikan pelbagai senario aplikasi dunia sebenar dengan lebih baik.

Atas ialah kandungan terperinci Cara mengemas kini data dalam laravel (analisis ringkas kaedah). 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan