You are here

public function DDLinesResponse::delete in Quiz 8.4

Delete the response.

Overrides QuizQuestionResponse::delete

File

question_types/quiz_ddlines/lib/Drupal/quiz_ddlines/DDLinesResponse.php, line 74

Class

DDLinesResponse
Extension of QuizQuestionResponse

Namespace

Drupal\quiz_ddlines

Code

public function delete() {
  $user_answer_ids = array();
  $query = db_query('SELECT id FROM {quiz_ddlines_user_answers} WHERE question_nid = :nid AND question_vid = :vid AND result_id = :result_id', array(
    ':nid' => $this->question
      ->id(),
    ':vid' => $this->question
      ->getRevisionId(),
    ':result_id' => $this->rid,
  ));
  while ($answer = $query
    ->fetch()) {
    $user_answer_ids[] = $answer->id;
  }
  if (!empty($user_answer_ids)) {
    db_delete('quiz_ddlines_user_answer_multi')
      ->condition('user_answer_id', $user_answer_ids, 'IN')
      ->execute();
  }
  db_delete('quiz_ddlines_user_answers')
    ->condition('result_id', $this->rid)
    ->condition('question_nid', $this->question
    ->id())
    ->condition('question_vid', $this->question
    ->getRevisionId())
    ->execute();
}