【发布时间】:2018-05-04 17:13:00
【问题描述】:
我正在使用 PHP 的 Neo4j。要在我正在使用的节点中生成 uuid 字段:neo4j-uuid。 我也使用:graphaware/neo4j-php-ogm,当我创建一个节点时,我不返回分配给 UUID 字段的值,我必须进行新的查询才能获得该值,我需要在对象为时自动水合 UUID 值创建,就像 ID 被水合一样。
【问题讨论】:
标签: neo4j graphaware neo4j-php-ogm
我正在使用 PHP 的 Neo4j。要在我正在使用的节点中生成 uuid 字段:neo4j-uuid。 我也使用:graphaware/neo4j-php-ogm,当我创建一个节点时,我不返回分配给 UUID 字段的值,我必须进行新的查询才能获得该值,我需要在对象为时自动水合 UUID 值创建,就像 ID 被水合一样。
【问题讨论】:
标签: neo4j graphaware neo4j-php-ogm
来自 GraphAware Neo4j UUID Github Repo:
如果你创建一个节点并立即返回它,它的内容不会 反映由事务事件处理程序执行的更改,例如 this 一——因此 UUID 将不可用。必须单独调用 用于获取 UUID。
也就是说:这是预期的行为。目前,您应该进行新查询以获取具有生成的 UUID 属性的节点。
【讨论】:
正如@bruno-peres 所说,uuid 的值不会自动水合,所以我调用了 EntityManager 的刷新方法
$this->em->persist($entity);
$this->em->flush();
$this->em->refresh($entity);
var_dump($p->getUuid())
【讨论】: