Метод insert
Метод insert класса DB позволяет вставлять записи в таблицу базы данных. Он принимает массив данных для вставки, где ключи массива соответствуют именам колонок таблицы, а значения - данным для вставки. Если вы передаёте массив массивов, то выполняется массовая вставка нескольких записей за один запрос к базе данных.
Синтаксис
<?php
DB::table($table)->insert($data);
?>
Пример
Давайте вставим новую статью в таблицу 'articles':
<?php
use Illuminate\Support\Facades\DB;
DB::table('articles')->insert([
'title' => 'article',
'text' => 'article text',
'user_id' => 1
]);
?>
Результат выполнения кода:
true
Пример
Теперь вставим сразу несколько записей в таблицу 'articles':
<?php
use Illuminate\Support\Facades\DB;
DB::table('articles')->insert([
[
'title' => 'article 1',
'text' => 'text 1',
'user_id' => 1
],
[
'title' => 'article 2',
'text' => 'text 2',
'user_id' => 2
],
[
'title' => 'article 3',
'text' => 'text 3',
'user_id' => 1
]
]);
?>
Результат выполнения кода:
true
Пример
Давайте вставим запись и получим её идентификатор с помощью метода insertGetId:
<?php
use Illuminate\Support\Facades\DB;
$id = DB::table('articles')->insertGetId([
'title' => 'article',
'text' => 'article text',
'user_id' => 1
]);
echo $id;
?>
Результат выполнения кода:
"5"
Пример
Метод insert возвращает true при успешной вставке. Проверим это:
<?php
use Illuminate\Support\Facades\DB;
$res = DB::table('articles')->insert([
'title' => 'article',
'text' => 'article text',
'user_id' => 1
]);
var_dump($res);
?>
Результат выполнения кода:
bool(true)
Смотрите также
-
метод
insertGetId,
который вставляет запись и возвращает её идентификатор -
метод
upsert,
который выполняет вставку или обновление записей -
метод
updateOrInsert,
который ищет запись, при её наличии обновляет, иначе создаёт новую -
метод
update,
который обновляет существующие записи в базе данных