Skip to content

Delete builder

Use DeleteBuilder for set-based deletion.

use Small\SwooleEntityManager\QueryBuilder\RelationalQueryBuilder\Enum\ConditionOperatorType;

$delete = $userManager->createDeleteBuilder();
$delete
    ->where()
    ->firstCondition(
        $delete->getFieldForCondition('deleted'),
        ConditionOperatorType::equal,
        ':deleted',
    );
$delete->setParameter('deleted', true);

$userManager->executeDelete($delete);

Lifecycle callbacks

The default call performs a native delete and skips callbacks:

$userManager->executeDelete($delete);

To load every matching entity and execute BeforeDeleteInterface and AfterDeleteInterface callbacks:

$userManager->executeDelete($delete, skipTriggers: false);

Unsupported operations

Delete builders do not support joins, ordering, offsets or limits. Use createQueryBuilder() to inspect the rows selected by the same predicate:

$matchingUsers = $userManager->getResult($delete->createQueryBuilder());

Next chapter: Forms and validation