You are here

public function MultichoiceResponse::delete in Quiz 8.5

Same name and namespace in other branches
  1. 8.6 question_types/quiz_multichoice/src/Plugin/quiz/QuizQuestion/MultichoiceResponse.php \Drupal\quiz_multichoice\Plugin\quiz\QuizQuestion\MultichoiceResponse::delete()

Implementation of delete().

Overrides EntityBase::delete

See also

QuizQuestionResponse::delete()

File

question_types/quiz_multichoice/src/Plugin/quiz/QuizQuestion/MultichoiceResponse.php, line 31

Class

MultichoiceResponse
Extension of QuizQuestionResponse.

Namespace

Drupal\quiz_multichoice\Plugin\quiz\QuizQuestion

Code

public function delete() {
  $user_answer_id = array();
  $query = db_query('SELECT id FROM {quiz_multichoice_user_answers} WHERE result_answer_id = :raid', array(
    ':raid' => $this->result_answer_id,
  ));
  while ($user_answer = $query
    ->fetch()) {
    $user_answer_id[] = $user_answer->id;
  }
  if (!empty($user_answer_id)) {
    db_delete('quiz_multichoice_user_answer_multi')
      ->condition('user_answer_id', $user_answer_id, 'IN')
      ->execute();
  }
  db_delete('quiz_multichoice_user_answers')
    ->condition('result_answer_id', $this->result_answer_id)
    ->execute();
}