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\TestsCode
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.