fluent icon indicating copy to clipboard operation
fluent copied to clipboard

Add hardDelete option for softDeleteable fields

Open downace opened this issue 4 years ago • 0 comments

Looks like hardDelete feature can't be enabled when using Fluent. At least I can't find some obvious or documented way.

The SoftDeleteableListener only considers hardDelete as enabled if it's explicitly specified in config, and the is no such option in SoftDeleteable::build method.

Workaround I'm currently using:

$builder->dateTime('deletedAt')->nullable();
$builder->entity()->getClassMetadata()->addExtension(\Gedmo\SoftDeleteable\Mapping\Driver\Fluent::EXTENSION_NAME, [
    'softDeleteable' => true,
    'fieldName'      => 'deletedAt',
    'hardDelete'     => true,
    'timeAware'      => false,
]);

It would be nice to have a fluent method like timeAware:

$builder->softDelete('deletedAt')->hardDelete();
// or
$builder->softDelete('deletedAt')->hardDelete(true);

downace avatar Feb 08 '21 01:02 downace