Метод insert
Метод insert применяется к запросу Query Builder и позволяет выполнить массовую вставку нескольких записей в таблицу базы данных. Первым и единственным параметром передаётся массив данных для вставки, где каждый элемент представляет собой ассоциативный массив, ключи которого соответствуют именам колонок, а значения - данным для вставки. Метод возвращает логическое значение - успешность операции.
Синтаксис
<?php
DB::table($table)->insert($data);
?>
Пример
Давайте выполним вставку одной записи в таблицу 'users':
<?php
namespace AppHttpControllers;
use IlluminateSupportFacadesDB;
class UserController extends Controller
{
public function insert()
{
$data = [
'name' => 'John Doe',
'email' => 'john@example.com',
'age' => 30,
'created_at' => now()
];
$res = DB::table('users')->insert($data);
echo "User inserted: " . ($res ? 'true' : 'false');
}
}
?>
Результат выполнения кода:
"User inserted: true"
Пример
Давайте выполним массовую вставку нескольких записей в таблицу 'users':
<?php
namespace AppHttpControllers;
use IlluminateSupportFacadesDB;
class UserController extends Controller
{
public function insertMany()
{
$data = [
[
'name' => 'Alice Johnson',
'email' => 'alice@example.com',
'age' => 25,
'created_at' => now()
],
[
'name' => 'Bob Smith',
'email' => 'bob@example.com',
'age' => 35,
'created_at' => now()
],
[
'name' => 'Carol White',
'email' => 'carol@example.com',
'age' => 28,
'created_at' => now()
]
];
$res = DB::table('users')->insert($data);
echo "Records inserted: " . ($res ? 'true' : 'false');
}
}
?>
Результат выполнения кода:
"Records inserted: true"
Пример
Давайте выполним вставку записи в таблицу 'articles' с указанием дополнительных полей:
<?php
namespace AppHttpControllers;
use IlluminateSupportFacadesDB;
class ArticleController extends Controller
{
public function insertArticle()
{
$data = [
'title' => 'Laravel Insert Method',
'content' => 'This article explains the insert method in Laravel',
'status' => 'draft',
'views' => 0,
'is_published' => false,
'created_at' => now(),
'updated_at' => now()
];
$res = DB::table('articles')->insert($data);
echo "Article created: " . ($res ? 'true' : 'false');
}
}
?>
Результат выполнения кода:
"Article created: true"
Смотрите также
-
метод
insertGetId,
который вставляет запись и возвращает её идентификатор -
метод
upsert,
который обновляет существующие записи или создаёт новые -
метод
updateOrCreate,
который обновляет или создаёт запись по условию -
метод
DB::insert,
который выполняет сырой INSERT запрос