Метод delete класса Connection
Метод delete класса Connection
выполняет SQL-запрос типа DELETE и удаляет
строки из указанной таблицы. Первым параметром
передаётся имя таблицы, вторым - массив условий
вида ['column' => value], которые попадут
в секцию WHERE. Метод возвращает количество
удалённых строк.
Синтаксис
public function delete(string $table, array $criteria = [], array $types = []): int
Пример
Давайте удалим одну запись из таблицы article
по её идентификатору:
<?php
namespace App\Controller;
use Doctrine\DBAL\Connection;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
class ArticleController extends AbstractController
{
public function remove(Connection $connection): Response
{
$count = $connection->delete('article', ['id' => 1]);
return new Response('Deleted: ' . $count);
}
}
?>
Результат выполнения кода:
"Deleted: 1"
Пример
Давайте удалим все записи, у которых поле
active равно false:
<?php
namespace App\Controller;
use Doctrine\DBAL\Connection;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
class ArticleController extends AbstractController
{
public function clear(Connection $connection): Response
{
$count = $connection->delete('article', ['active' => false]);
return new Response('Deleted: ' . $count);
}
}
?>
Результат выполнения кода:
"Deleted: 3"
Пример
Давайте удалим запись и укажем типы значений для условий через третий параметр:
<?php
namespace App\Controller;
use Doctrine\DBAL\Connection;
use Doctrine\DBAL\ParameterType;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
class ArticleController extends AbstractController
{
public function removeOne(Connection $connection): Response
{
$count = $connection->delete(
'article',
['id' => 5],
['id' => ParameterType::INTEGER]
);
return new Response('Deleted: ' . $count);
}
}
?>
Результат выполнения кода:
"Deleted: 1"
Смотрите также
-
класс
Connection,
который управляет подключением к базе данных -
метод
insert,
который вставляет записи в таблицу -
метод
update,
который обновляет записи в таблице -
метод
executeStatement,
который выполняет произвольный SQL-запрос