Графическое ПО 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 это не работает.

0 ответов

Другие вопросы по тегам