function DatabaseSelectOrderedTestCase::testSimpleSelectMultiOrdered

Test multiple order by.

File

modules/simpletest/tests/database_test.test, line 2070

Class

DatabaseSelectOrderedTestCase
Test select with order by clauses.

Code

function testSimpleSelectMultiOrdered() {
    $query = db_select('test');
    $name_field = $query->addField('test', 'name');
    $age_field = $query->addField('test', 'age', 'age');
    $job_field = $query->addField('test', 'job');
    $query->orderBy($job_field);
    $query->orderBy($age_field);
    $result = $query->execute();
    $num_records = 0;
    $expected = array(
        array(
            'Ringo',
            28,
            'Drummer',
        ),
        array(
            'John',
            25,
            'Singer',
        ),
        array(
            'George',
            27,
            'Singer',
        ),
        array(
            'Paul',
            26,
            'Songwriter',
        ),
    );
    $results = $result->fetchAll(PDO::FETCH_NUM);
    foreach ($expected as $k => $record) {
        $num_records++;
        foreach ($record as $kk => $col) {
            if ($expected[$k][$kk] != $results[$k][$kk]) {
                $this->assertTrue(FALSE, 'Results returned in correct order.');
            }
        }
    }
    $this->assertEqual($num_records, 4, 'Returned the correct number of rows.');
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.