Графическое ПО neo4j-php-client версия 4 | Как выполнить один запрос в транзакции без фиксации транзакции?
Мне нужно выполнить один запрос и из идентификатора, который возвращается из его результата, мне нужно создать следующие запросы в той же транзакции. Однако окончательное принятие транзакции должно произойти только после того, как все запросы будут выполнены правильно. Например:
$query1 = 'CREATE (article:Article {
id: 1,
description:"article_description"})
RETURN article.id';
$stack = $client->stack();
$stack->push($query1);
$transaction->runStack($stack);
$resultSet = $transaction->results()->records();
$article_id = $resultSet->get('article.id');
$query2 = 'MATCH (user:User{id:x}), (article:Article{id: $article_id})
CREATE UNIQUE (user)-[relation:CREATES_ARTICLE]->(article)
RETURN relation';
$stack = $client->stack();
$stack->push($query2);
$transaction->runStack($stack);
$resultSet = $transaction->results()->records();
транзакция должна быть зафиксирована в neo4j только после успешного выполнения обоих запросов. Если query2 не выполняется, то query1 также должен быть откатан. Это можно сделать с помощью клиента graphaware-neo4j-php v3.3, но после обновления до v4.0 это не работает.