/**
* Get multiple entities inside a transaction
*
* Example:
* ```
* $keys = [
* $datastore->key('Person', 'Bob'),
* $datastore->key('Person', 'John')
* ];
*
* $entities = $transaction->lookup($keys);
*
* foreach ($entities['found'] as $entity) {
* echo $entity['firstName'];
* }
* ```
*
* @param Key[] $key The identifiers to look up.
* @param array $options [optional] {
* Configuration Options
*
* @type string|array $className If a string, the name of the class to return results as.
* Must be a subclass of {@see Google\Cloud\Datastore\Entity}.
* If not set, {@see Google\Cloud\Datastore\Entity} will be used.
* If an array is given, it must be an associative array, where
* the key is a Kind and the value is the name of a subclass of
* {@see Google\Cloud\Datastore\Entity}.
* }
* @return array Returns an array with keys [`found`, `missing`, and `deferred`].
* Members of `found` will be instance of
* {@see Google\Cloud\Datastore\Entity}. Members of `missing` and
* `deferred` will be instance of {@see Google\Cloud\Datastore\Key}.
*/
public function lookupBatch(array $keys, array $options = [])
{
return $this->operation->lookup($keys, $options + ['transaction' => $this->transactionId]);
}