function FetchTest::testQueryFetchField

Same name and namespace in other branches
  1. 10 core/tests/Drupal/KernelTests/Core/Database/FetchTest.php \Drupal\KernelTests\Core\Database\FetchTest::testQueryFetchField()

Tests ::fetchField().

File

core/tests/Drupal/KernelTests/Core/Database/FetchTest.php, line 196

Class

FetchTest
Tests the Database system's various fetch capabilities.

Namespace

Drupal\KernelTests\Core\Database

Code

public function testQueryFetchField() : void {
    $this->connection
        ->insert('test')
        ->fields([
        'name' => 'Foo',
        'age' => 0,
        'job' => 'Dummy',
    ])
        ->execute();
    $this->connection
        ->insert('test')
        ->fields([
        'name' => 'Kurt',
        'age' => 27,
        'job' => 'Singer',
    ])
        ->execute();
    $expectedResults = [
        '25',
        '27',
        '28',
        '26',
        '0',
        '27',
    ];
    $statement = $this->connection
        ->select('test')
        ->fields('test', [
        'age',
    ])
        ->orderBy('id')
        ->execute();
    $actualResults = [];
    while (TRUE) {
        $result = $statement->fetchField();
        if ($result === FALSE) {
            break;
        }
        $this->assertIsNumeric($result);
        $actualResults[] = $result;
    }
    $this->assertSame($expectedResults, $actualResults);
}

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