Reference documentation and code samples for the Cloud Datastore Client class ReadOnlyTransaction.
Represents a Read-Only Cloud Datastore Transaction.
Read-Only Transactions allow you to execute one or more reads at the current,
consistent state of Cloud Datastore at the time the transaction started.
Read-Only Transactions in Google Cloud PHP support rollback operations, but
do not support commit. It should be considered best practice to rollback
read-only transactions when you have finished using them.
Transactions are anoptionalfeature of Google Cloud Datastore. Queries,
lookups and mutations can be executed outside of a Transaction fromDatastoreClient.
Example:
use Google\Cloud\Datastore\DatastoreClient;
$datastore = new DatastoreClient();
$transaction = $datastore->readOnlyTransaction();
// Read-Only Transactions should be rolled back when they are no longer needed.
$key = $datastore->key('Users', 'Bob');
$userData = $transaction->lookup($key);
$transaction->rollback();
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[],[],null,["# Cloud Datastore Client - Class ReadOnlyTransaction (1.33.1)\n\nVersion latestkeyboard_arrow_down\n\n- [1.33.1 (latest)](/php/docs/reference/cloud-datastore/latest/ReadOnlyTransaction)\n- [1.33.0](/php/docs/reference/cloud-datastore/1.33.0/ReadOnlyTransaction)\n- [1.32.3](/php/docs/reference/cloud-datastore/1.32.3/ReadOnlyTransaction)\n- [1.31.0](/php/docs/reference/cloud-datastore/1.31.0/ReadOnlyTransaction)\n- [1.30.0](/php/docs/reference/cloud-datastore/1.30.0/ReadOnlyTransaction)\n- [1.29.2](/php/docs/reference/cloud-datastore/1.29.2/ReadOnlyTransaction)\n- [1.28.2](/php/docs/reference/cloud-datastore/1.28.2/ReadOnlyTransaction)\n- [1.26.0](/php/docs/reference/cloud-datastore/1.26.0/ReadOnlyTransaction)\n- [1.25.0](/php/docs/reference/cloud-datastore/1.25.0/ReadOnlyTransaction)\n- [1.24.4](/php/docs/reference/cloud-datastore/1.24.4/ReadOnlyTransaction)\n- [1.23.0](/php/docs/reference/cloud-datastore/1.23.0/ReadOnlyTransaction)\n- [1.22.1](/php/docs/reference/cloud-datastore/1.22.1/ReadOnlyTransaction)\n- [1.21.2](/php/docs/reference/cloud-datastore/1.21.2/ReadOnlyTransaction)\n- [1.19.0](/php/docs/reference/cloud-datastore/1.19.0/ReadOnlyTransaction)\n- [1.18.1](/php/docs/reference/cloud-datastore/1.18.1/ReadOnlyTransaction)\n- [1.17.1](/php/docs/reference/cloud-datastore/1.17.1/ReadOnlyTransaction) \nReference documentation and code samples for the Cloud Datastore Client class ReadOnlyTransaction.\n\nRepresents a Read-Only Cloud Datastore Transaction.\n\nRead-Only Transactions allow you to execute one or more reads at the current,\nconsistent state of Cloud Datastore at the time the transaction started.\n\nRead-Only Transactions in Google Cloud PHP support rollback operations, but\ndo not support commit. It should be considered best practice to rollback\nread-only transactions when you have finished using them.\n\nTransactions are an **optional** feature of Google Cloud Datastore. Queries,\nlookups and mutations can be executed outside of a Transaction from\n[DatastoreClient](/php/docs/reference/cloud-datastore/latest/DatastoreClient).\n\nExample: \n\n use Google\\Cloud\\Datastore\\DatastoreClient;\n\n $datastore = new DatastoreClient();\n\n $transaction = $datastore-\u003ereadOnlyTransaction();\n\n // Read-Only Transactions should be rolled back when they are no longer needed.\n $key = $datastore-\u003ekey('Users', 'Bob');\n $userData = $transaction-\u003elookup($key);\n\n $transaction-\u003erollback();\n\nNamespace\n---------\n\nGoogle \\\\ Cloud \\\\ Datastore"]]