7.x database_test.module database_test_tablesort_first()

Run a tablesort query with a second order_by after and return the results.

This function does care about the page GET parameter, as set by the simpletest HTTP call.

1 string reference to 'database_test_tablesort_first'
database_test_menu in modules/simpletest/tests/database_test.module
Implements hook_menu().

File

modules/simpletest/tests/database_test.module, line 175

Code

function database_test_tablesort_first() {
  $header = array(
    'tid' => array(
      'data' => t('Task ID'),
      'field' => 'tid',
      'sort' => 'desc',
    ),
    'pid' => array(
      'data' => t('Person ID'),
      'field' => 'pid',
    ),
    'task' => array(
      'data' => t('Task'),
      'field' => 'task',
    ),
    'priority' => array(
      'data' => t('Priority'),
      'field' => 'priority',
    ),
  );
  $query = db_select('test_task', 't');
  $query
    ->fields('t', array(
    'tid',
    'pid',
    'task',
    'priority',
  ));
  $query = $query
    ->extend('TableSort')
    ->orderByHeader($header)
    ->orderBy('priority');

  // We need all the results at once to check the sort.
  $tasks = $query
    ->execute()
    ->fetchAll();
  drupal_json_output(array(
    'tasks' => $tasks,
  ));
  exit;
}