代码之家  ›  专栏  ›  技术社区  ›  Jaime Roman

在Neo4j ogm中创建的节点中返回值uuid

  •  1
  • Jaime Roman  · 技术社区  · 7 年前

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

    2 回复  |  直到 7 年前
        1
  •  0
  •   Bruno Peres    7 年前

    来自GraphAware Neo4j UUID Github Repo :

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

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

        2
  •  0
  •   Jaime Roman    7 年前

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

    $this->em->persist($entity);
    $this->em->flush();
    $this->em->refresh($entity);
    var_dump($p->getUuid())
    
    推荐文章