Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Memasukkan atau Mengemas kini Rekod Dengan Cekap Menggunakan Kaedah Eloquent's firstOrNew()?
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().
$model = Model::firstOrNew($attributes);
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>
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>
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>
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.
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!