You are here

function Course::delete in Course 8.2

Same name and namespace in other branches
  1. 8.3 src/Entity/Course.php \Drupal\course\Entity\Course::delete()

Deletes an entity permanently.

Throws

\Drupal\Core\Entity\EntityStorageException In case of failures an exception is thrown.

Overrides EntityBase::delete

File

src/Entity/Course.php, line 419

Class

Course
Defines the Course entity class.

Namespace

Drupal\course\Entity

Code

function delete() {

  // Clean up course specific settings and enrollments when a course is
  // deleted.
  \Drupal::database()
    ->delete('course_enrollment')
    ->condition('cid', $this
    ->id())
    ->execute();
  $query = \Drupal::database()
    ->select('course_object', 'co');
  $query
    ->join('course_object_fulfillment', 'cof', 'co.coid = cof.coid');
  $result = $query
    ->fields('co')
    ->condition('co.nid', $this
    ->id())
    ->execute();
  while ($row = $result
    ->fetch()) {
    \Drupal::database()
      ->delete('course_object_fulfillment')
      ->condition('coid', $row->coid)
      ->execute();
  }
  \Drupal::database()
    ->delete('course_object')
    ->condition('cid', $node
    ->id())
    ->execute();
  parent::delete();
}