/**
* Update multiple entities
*
* No service requests are run when this method is called.
* Use {@see Google\Cloud\Datastore\Transaction::commit()} to commit changes.
*
* Example:
* ```
* $entities[0]['firstName'] = 'Bob';
* $entities[1]['firstName'] = 'John';
*
* $transaction->updateBatch($entities);
* $transaction->commit();
* ```
*
* @param Entity[] $entities The entities to update.
* @param array $options [optional] {
* Configuration Options
*
* @type bool $allowOverwrite Entities must be updated as an entire
* resource. Patch operations are not supported. Because entities
* can be created manually, or obtained by a lookup or query, it
* is possible to accidentally overwrite an existing record with a
* new one when manually creating an entity. To provide additional
* safety, this flag must be set to `true` in order to update a
* record when the entity provided was not obtained through a
* lookup or query. **Defaults to** `false`.
* }
* @return Transaction
*/
public function updateBatch(array $entities, array $options = [])
{
$options += ['allowOverwrite' => false];
$this->operation->checkOverwrite($entities, $options['allowOverwrite']);
$this->operation->mutate('update', $entities, Entity::class);
return $this;
}