static function Course::preDelete in Course 3.x
Clean up enrollments and objects after deleting a course.
Overrides EntityBase::preDelete
File
- src/
Entity/ Course.php, line 484
Class
- Course
- Defines the Course entity class.
Namespace
Drupal\course\EntityCode
static function preDelete(Drupal\Core\Entity\EntityStorageInterface $storage, array $entities) {
foreach ($entities as $course) {
// Remove enrollments, which will also remove fulfillments.
$enrollment_storage = \Drupal::entityTypeManager()
->getStorage('course_enrollment');
$course_enrollments = $enrollment_storage
->loadByProperties([
'cid' => $course
->id(),
]);
$enrollment_storage
->delete($course_enrollments);
// Remove objects.
$object_storage = \Drupal::entityTypeManager()
->getStorage('course_object');
$course_objects = $object_storage
->loadByProperties([
'cid' => $course
->id(),
]);
$object_storage
->delete($course_objects);
}
parent::preDelete($storage, $entities);
}