Методы обновления Laravel Query Builder с примерами кода

Построитель запросов Laravel предоставляет широкий спектр методов для обновления записей в таблице базы данных. Вот некоторые из наиболее часто используемых методов с примерами кода:

  1. Метод update: этот метод обновляет одну или несколько записей в таблице на основе заданного условия. Вот пример:
DB::table('users')
    ->where('id', 1)
    ->update(['name' => 'John Doe', 'email' => 'john@example.com']);

Этот код обновит поля имяи адрес электронной почтыдля пользователя с id, равным 1, в поле users. >таблица.

  1. Методы incrementи decrement. Эти методы полезны для увеличения или уменьшения значения определенного столбца на заданную величину. Вот пример:
DB::table('users')
    ->where('id', 1)
    ->increment('score', 10);

Этот код увеличит столбец scoreпользователя с id, равным 1, на 10.

  1. Метод save: этот метод используется для обновления экземпляра модели. Вот пример:
$user = App\Models\User::find(1);
$user->name = 'Jane Doe';
$user->email = 'jane@example.com';
$user->save();

Этот код обновит атрибуты nameи emailэкземпляра модели Userс id, равным 1..

  1. Метод updateOrInsert: этот метод обновляет запись, если она существует, или вставляет новую запись, если она не существует. Вот пример:
DB::table('users')
    ->updateOrInsert(
        ['email' => 'john@example.com'],
        ['name' => 'John Doe', 'created_at' => now()]
    );

Этот код обновит поля nameи created_atдля пользователя, указав адрес электронной почты john@example.com, если он существует. В противном случае будет вставлена ​​новая запись с предоставленными данными.

  1. Метод updateUsing: этот метод позволяет обновлять записи с помощью подзапроса. Вот пример:
$subquery = DB::table('users')
    ->where('is_active', true)
    ->select('id')
    ->limit(10);
DB::table('orders')
    ->whereIn('user_id', $subquery)
    ->update(['status' => 'completed']);

Этот код обновит поле statusзаказов, связанных с первыми 10 активными пользователями.