Google\Cloud\Datastore\Operation::allocateIdsToEntities PHP Method

allocateIdsToEntities() public method

Any incomplete keys will be allocated an ID. Named keys in the input will remain unchanged.
public allocateIdsToEntities ( array $entities ) : Entity[]
$entities array A list of entities
return Entity[]
    public function allocateIdsToEntities(array $entities)
    {
        $this->validateBatch($entities, Entity::class);
        $incompleteKeys = [];
        foreach ($entities as $entity) {
            if ($entity->key()->state() === Key::STATE_INCOMPLETE) {
                $incompleteKeys[] = $entity->key();
            }
        }
        if (!empty($incompleteKeys)) {
            $keys = $this->allocateIds($incompleteKeys);
        }
        return $entities;
    }

Usage Example

 /**
  * Insert multiple entities
  *
  * No service requests are run when this method is called.
  * Use {@see Google\Cloud\Datastore\Transaction::commit()} to commit changes.
  *
  * Example:
  * ```
  * $entities = [
  *     $datastore->entity('Person', ['firstName' => 'Bob']),
  *     $datastore->entity('Person', ['firstName' => 'John'])
  * ];
  *
  * $transaction->insertBatch($entities);
  * $transaction->commit();
  * ```
  *
  * @param Entity[] $entities The entities to insert.
  * @return Transaction
  */
 public function insertBatch(array $entities)
 {
     $entities = $this->operation->allocateIdsToEntities($entities);
     foreach ($entities as $entity) {
         $this->mutations[] = $this->operation->mutation('insert', $entity, Entity::class);
     }
     return $this;
 }
All Usage Examples Of Google\Cloud\Datastore\Operation::allocateIdsToEntities