Bagaimana untuk Memasukkan atau Mengemas kini Rekod Dengan Cekap Menggunakan Kaedah Eloquent's firstOrNew()?

Susan Sarandon
Lepaskan: 2024-10-20 08:47:01
asal
433 orang telah melayarinya

How to Insert or Update Records Efficiently Using Eloquent's firstOrNew() Method?

Memasukkan atau Mengemas kini Rekod dalam Laravel Eloquent

Apabila bekerja dengan pangkalan data, adalah perkara biasa untuk perlu memasukkan rekod baharu jika ia tidak wujud atau mengemas kini rekod sedia ada jika ia berlaku. Dalam ORM Eloquent Laravel, ini boleh dilakukan secara ringkas menggunakan kaedah firstOrNew().

Syntax

$model = Model::firstOrNew($attributes);
Salin selepas log masuk
  • $attributes: Tatasusunan atribut yang perlu ada pada yang pertama atau rekod yang baru dibuat.

Mengemas kini Rekod Sedia Ada

Jika rekod sudah wujud dalam pangkalan data, kaedah firstOrNew() akan mengembalikan contoh model tersebut. Anda kemudian boleh mengubah suai atributnya dan menyimpannya menggunakan kaedah save().

<code class="php">$user = User::firstOrNew(array('name' => Input::get('name')));
$user->foo = Input::get('foo');
$user->save();</code>
Salin selepas log masuk

Memasukkan Rekod Baharu

Jika rekod tidak wujud dalam pangkalan data, kaedah firstOrNew() akan mencipta contoh baharu model dengan atribut yang ditentukan. Ia kemudiannya akan memasukkan rekod ke dalam pangkalan data apabila anda memanggil kaedah save().

<code class="php">// Insert new record into database</code>
Salin selepas log masuk

Pendekatan Alternatif

Dalam coretan kod yang disediakan, pendekatan berikut juga digunakan untuk memasukkan rekod baharu jika ia tidak wujud atau kemas kini rekod sedia ada jika ia:

<code class="php">$shopOwner = ShopMeta::where('shopId', '=', $theID)
    ->where('metadataKey', '=', 2001)->first();

if ($shopOwner == null) {
    // Insert new record into database
} else {
    // Update the existing record
}</code>
Salin selepas log masuk

Pendekatan ini melibatkan pertanyaan pertama pangkalan data untuk mendapatkan semula rekod sedia ada. Jika tiada rekod ditemui, rekod baharu akan dimasukkan. Jika tidak, rekod sedia ada dikemas kini.

Dokumentasi Dikemas Kini

Untuk mendapatkan maklumat terkini tentang kaedah firstOrNew(), rujuk dokumentasi yang dikemas kini yang dipautkan di bawah.

[Dokumentasi Kemas Kini Pautan](https://laravel.com/docs/8.x/eloquent)

Atas ialah kandungan terperinci Bagaimana untuk Memasukkan atau Mengemas kini Rekod Dengan Cekap Menggunakan Kaedah Eloquent's firstOrNew()?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
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!