Метод insertGetId
Метод insertGetId применяется к Query Builder
и выполняет вставку одной записи в таблицу базы данных.
В отличие от метода insert, он возвращает значение
автоинкрементного поля (обычно ID) созданной записи.
Метод принимает массив с данными для вставки.
Он полезен, когда после создания записи нужно сразу
получить её идентификатор для дальнейшей работы.
Синтаксис
<?php
DB::table($table)->insertGetId($data);
?>
Пример
Давайте вставим новую статью в таблицу articles
и получим её идентификатор:
<?php
use Illuminate\Support\Facades\DB;
$data = [
'title' => 'New Article',
'body' => 'This is the content of the article.',
'status' => 'draft'
];
$id = DB::table('articles')->insertGetId($data);
echo $id;
?>
Результат выполнения кода:
"5"
Пример
Давайте вставим запись в таблицу users и используем
полученный ID для создания связанной записи:
<?php
use Illuminate\Support\Facades\DB;
$data = [
'name' => 'John Doe',
'email' => 'john@example.com',
'password' => bcrypt('secret')
];
$userId = DB::table('users')->insertGetId($data);
DB::table('profiles')->insert([
'user_id' => $userId,
'bio' => 'New user bio.'
]);
echo "User created with ID: " . $userId;
?>
Результат выполнения кода:
"User created with ID: 7"
Смотрите также
-
метод
insert,
который выполняет вставку одной или нескольких записей -
метод
upsert,
который выполняет вставку или обновление записей -
метод
updateOrInsert,
который обновляет запись или создает новую -
метод
firstOrCreate,
который находит запись или создаёт новую