在Neo4j中调用makeLabel for PHP失败了

时间:2014-02-18 11:22:50

标签: php neo4j

创建节点工作正常,但当我尝试添加标签时,我遇到了以下问题。

PHP致命错误:在第208行的/elixir/apps/home/bin/elixir_classes/class.StorageController.php中调用未定义的方法Everyman \ Neo4j \ Client :: makeLabel()

我在这里做错了什么?

谢谢,

-Edwin

这是相关代码的片段

<?php

use Everyman\Neo4j\Client,
    Everyman\Neo4j\Transport,
    Everyman\Neo4j\Node,
    Everyman\Neo4j\Relationship;

.
.

$neo4jclient = new Client(new Transport('durq2idb10-tst.corp.xyz.com', 7474));

// Create nodes

$controller = new Node($neo4jclient);
$controller->setProperty('serialnumber', "$this->serialnumber")->save();
$controller->setProperty('system_id', "$this->system_id")->save();
$controller->setProperty('hostname', "$this->hostname")->save();

$controller_label=$neo4jclient->makeLabel('Storage Controller');
$controller->addLabels($controller_label)->save();

1 个答案:

答案 0 :(得分:1)

您似乎使用的是neo4jphp的旧版本。请使用Composer安装最新版本,如下所述:https://github.com/jadell/neo4jphp/wiki/Getting-started

您需要更改客户端实例化。将行更改为

$neo4jclient = new Client('durq2idb10-tst.corp.xyz.com', 7474);

如果您需要自定义传输(看起来不是这样,但以防万一),您可以执行new Transport\Curl($host, $port)new Transport\Stream($host, port)