Метод insert класса Connection
Метод insert класса Connection
выполняет SQL-запрос на вставку новой строки
в указанную таблицу базы данных. Первым
параметром передаётся имя таблицы, вторым -
ассоциативный массив с данными для вставки.
Ключи массива соответствуют именам столбцов,
а значения - вставляемым данным. Метод
возвращает количество затронутых строк.
Синтаксис
public function insert(string $table, array $data, array $types = []): int
Пример
Давайте вставим новую статью в таблицу article:
<?php
namespace App\Repository;
use Doctrine\DBAL\Connection;
class ArticleRepository
{
public function __construct(
private Connection $connection
) {
}
public function createArticle(): int
{
$res = $this->connection->insert('article', [
'title' => 'abcde',
'text' => 'article',
'created_at' => '2024-01-01 12:00:00',
]);
return $res;
}
}
?>
Результат выполнения кода:
1
Пример
Давайте вставим пользователя с указанием типов данных столбцов:
<?php
namespace App\Repository;
use Doctrine\DBAL\Connection;
use Doctrine\DBAL\ParameterType;
class UserRepository
{
public function __construct(
private Connection $connection
) {
}
public function createUser(): int
{
$res = $this->connection->insert(
'user',
[
'name' => 'user',
'email' => 'hello',
'age' => 25,
'active' => true,
],
[
'age' => ParameterType::INTEGER,
'active' => ParameterType::BOOLEAN,
]
);
return $res;
}
}
?>
Результат выполнения кода:
1
Пример
Давайте получим идентификатор только что вставленной записи:
<?php
namespace App\Repository;
use Doctrine\DBAL\Connection;
class ArticleRepository
{
public function __construct(
private Connection $connection
) {
}
public function createAndGetId(): int
{
$this->connection->insert('article', [
'title' => 'abcde',
'text' => 'article',
]);
$res = $this->connection->lastInsertId();
return (int) $res;
}
}
?>
Результат выполнения кода:
1
Смотрите также
-
класс
Connection,
который управляет соединением с базой данных -
метод
lastInsertId,
который возвращает ID последней вставленной записи -
метод
update,
который обновляет строки в таблице -
метод
delete,
который удаляет строки из таблицы