You are here

function quiz_views_handler_field_number_questions::query in Quiz 7.4

Same name and namespace in other branches
  1. 8.4 includes/views/handlers/quiz_views_handler_field_number_questions.inc \quiz_views_handler_field_number_questions::query()
  2. 6.6 includes/views/handlers/quiz_views_handler_field_number_questions.inc \quiz_views_handler_field_number_questions::query()
  3. 6.3 includes/views/handlers/quiz_views_handler_field_number_questions.inc \quiz_views_handler_field_number_questions::query()
  4. 6.4 includes/views/handlers/quiz_views_handler_field_number_questions.inc \quiz_views_handler_field_number_questions::query()
  5. 6.5 includes/views/handlers/quiz_views_handler_field_number_questions.inc \quiz_views_handler_field_number_questions::query()
  6. 7.6 includes/views/handlers/quiz_views_handler_field_number_questions.inc \quiz_views_handler_field_number_questions::query()
  7. 7 includes/views/handlers/quiz_views_handler_field_number_questions.inc \quiz_views_handler_field_number_questions::query()

Called to add the field to a query.

Overrides views_handler_field::query

File

includes/views/handlers/quiz_views_handler_field_number_questions.inc, line 27

Class

quiz_views_handler_field_number_questions

Code

function query() {
  $this
    ->ensure_my_table();
  $this->field_alias = 'question_count';
  $formula = "COUNT({$this->table_alias}.child_vid)";
  if ($this->options['include_random']) {
    $properties_alias = $this->query
      ->ensure_table('quiz_node_properties');
    $formula .= " + (SELECT number_of_random_questions FROM {quiz_node_properties} WHERE vid = {$this->table_alias}.parent_vid)";
  }
  $this->query
    ->add_field(NULL, "{$formula}", $this->field_alias);
}