function EntityTrait::generateRandomEntityId

Generates a random ID avoiding collisions.

Parameters

bool $string: (optional) Whether the id should have string type. Defaults to FALSE.

Return value

int|string The entity identifier.

4 calls to EntityTrait::generateRandomEntityId()
EntityReferenceFieldTest::assertUserAutocreate in core/tests/Drupal/KernelTests/Core/Entity/EntityReferenceFieldTest.php
Asserts that the setter callback performs autocreation for users.
EntityReferenceFieldTest::assertUserRoleAutocreate in core/tests/Drupal/KernelTests/Core/Entity/EntityReferenceFieldTest.php
Asserts that the setter callback performs autocreation for user roles.
EntityReferenceFieldTest::testAutocreateApi in core/tests/Drupal/KernelTests/Core/Entity/EntityReferenceFieldTest.php
Tests all the possible ways to autocreate an entity via the API.
EntityReferenceFieldTest::testTargetEntityNoLoad in core/tests/Drupal/KernelTests/Core/Entity/EntityReferenceFieldTest.php
Tests that the target entity is not unnecessarily loaded.

File

core/tests/Drupal/Tests/EntityTrait.php, line 47

Class

EntityTrait
Provides helper methods for working with entities in tests.

Namespace

Drupal\Tests

Code

protected function generateRandomEntityId(bool $string = FALSE) : int|string {
    srand(time());
    do {
        // 0x7FFFFFFF is the maximum allowed value for integers that works for all
        // Drupal supported databases and is known to work for other databases
        // like SQL Server 2014 and Oracle 10 too.
        $id = $string ? $this->randomMachineName() : mt_rand(1, 0x7fffffff);
    } while (isset($this->generatedIds[$id]));
    $this->generatedIds[$id] = $id;
    return $id;
}

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