9951 explained code solutions for 126 technologies


php-laravelHow can I use the upsert feature in Laravel with PHP?


The upsert feature in Laravel with PHP allows you to insert or update a record in the database depending on whether the record already exists. To use this feature, you must first define a unique index for the table. Here is an example code block:

Schema::table('users', function (Blueprint $table) {
    $table->unique('email');
});

Then, you can use the upsert method to insert or update the record:

$data = [
    'email' => '[email protected]',
    'name' => 'John Doe',
];

DB::table('users')->upsert($data);

This code will either insert or update the record with the given data, depending on whether it already exists.

The upsert method takes two parameters: the first parameter is an array of data to insert or update, and the second parameter is an array of conditions to determine whether the record already exists.

Code explanation

  • Schema::table('users', function (Blueprint $table) {: this is used to define a unique index for the table.
  • $table->unique('email');: this is used to define a unique index for the column email.
  • DB::table('users')->upsert($data);: this is used to insert or update the record with the given data.
  • upsert($data, $conditions): this is the method to insert or update a record in the database. The first parameter is an array of data to insert or update, and the second parameter is an array of conditions to determine whether the record already exists.

You can find more information and examples in the Laravel documentation.

Edit this code on GitHub