return 在 Neo4j ogm 中创建的节点中的值 uuid

return the value uuid in the nodes created in Neo4j ogm

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

来自 GraphAware Neo4j UUID Github Repo:

If you create a node and return it immediately, its contents will not reflect changes performed by transaction event handlers such as this one -- thus the UUID will not be available. A separate call must be made to get the UUID.

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

的节点

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

的刷新方法
$this->em->persist($entity);
$this->em->flush();
$this->em->refresh($entity);
var_dump($p->getUuid())