1

我正在使用 PHP 的 Neo4j。要在我正在使用的节点中生成 uuid 字段:neo4j-uuid。我也使用:graphaware/neo4j-php-ogm,当我创建一个节点时,我不返回分配给 UUID 字段的值,我必须进行新的查询来获取该值,我需要自动水合 UUID 值当对象被创建时,就像 ID 被水合一样。

4

2 回答 2

0

来自 GraphAware Neo4j UUID Github存储库:

如果您创建一个节点并立即返回它,它的内容将不会反映由事务事件处理程序(例如这个)执行的更改——因此 UUID 将不可用。必须进行单独调用才能获取 UUID。

那就是:这是预期的行为。目前,您应该进行新查询以获取具有生成的 UUID 属性的节点。

于 2018-05-04T17:21:29.400 回答
0

正如@bruno-peres 所说,uuid 的值不会自动水合,所以我调用了 EntityManager 的刷新方法

$this->em->persist($entity);
$this->em->flush();
$this->em->refresh($entity);
var_dump($p->getUuid())
于 2018-05-04T17:57:23.293 回答