【问题标题】:return the value uuid in the nodes created in Neo4j ogm返回在 Neo4j ogm 中创建的节点中的值 uuid
【发布时间】:2018-05-04 17:13:00
【问题描述】:

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

【问题讨论】:

    标签: neo4j graphaware neo4j-php-ogm


    【解决方案1】:

    来自 GraphAware Neo4j UUID Github Repo

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

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

    【讨论】:

    • 通过php元数据,有没有办法指定uuid字段被当作ID处理?
    • 嗨@JaimeRoman。感谢您接受我的回答。不幸的是,我不是 PHP 开发人员。所以我不能帮你解决这个问题。对不起。也许你应该提出一个新问题。
    • 非常感谢您的帮助@bruno-peres
    【解决方案2】:

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

    $this->em->persist($entity);
    $this->em->flush();
    $this->em->refresh($entity);
    var_dump($p->getUuid())
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-27
      • 2020-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多