You are here

public function Select::orderRandom in Drupal driver for SQL Server and SQL Azure 4.1.x

Same name and namespace in other branches
  1. 4.2.x src/Driver/Database/sqlsrv/Select.php \Drupal\sqlsrv\Driver\Database\sqlsrv\Select::orderRandom()
  2. 3.1.x src/Driver/Database/sqlsrv/Select.php \Drupal\sqlsrv\Driver\Database\sqlsrv\Select::orderRandom()
  3. 4.0.x src/Driver/Database/sqlsrv/Select.php \Drupal\sqlsrv\Driver\Database\sqlsrv\Select::orderRandom()

Override of SelectQuery::orderRandom() for SQL Server.

It seems that sorting by RAND() doesn't actually work, this is a less then elegant workaround.

@status tested

Overrides Select::orderRandom

File

src/Driver/Database/sqlsrv/Select.php, line 339

Class

Select

Namespace

Drupal\sqlsrv\Driver\Database\sqlsrv

Code

public function orderRandom() {
  $alias = $this
    ->addExpression('NEWID()', 'random_field');
  $this
    ->orderBy($alias);
  return $this;
}