fluent
fluent copied to clipboard
Add hardDelete option for softDeleteable fields
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);