public afterDelete ( Cake\Event\Event $event, Cake\ORM\Entity $entity, ArrayObject $options ) : void | false | ||
$event | Cake\Event\Event | The afterDelete event that was fired |
$entity | Cake\ORM\Entity | The entity that was deleted |
$options | ArrayObject | the options passed to the delete method |
return | void | false |
public function afterDelete(Event $event, Entity $entity, ArrayObject $options)
{
foreach ($this->config() as $field => $settings) {
if (Hash::get($settings, 'keepFilesOnDelete', true)) {
continue;
}
$path = $this->getPathProcessor($entity, $entity->{$field}, $field, $settings)->basepath();
$file = [$path . $entity->{$field}];
$writer = $this->getWriter($entity, [], $field, $settings);
$success = $writer->delete($file);
if ((new Collection($success))->contains(false)) {
return false;
}
}
}