2014-02-18 83 views
0

创建节点可以正常工作,但是当我尝试添加标签时,遇到以下问题。在Neo4j for PHP中调用makeLabel失败

PHP致命错误:在/elixir/apps/home/bin/elixir_classes/class.StorageController.php调用未定义的方法普通人\ Neo4j的\客户:: makeLabel()上线208

我在做什么这里错了吗?

感谢,

-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(); 
+0

你如何包括neo4jphp?你正在使用PHAR文件,作曲家还是克隆回购? –

回答

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)

+0

我正在使用PHAR文件...但基于您的提示Josh,我开始使用Composer后面的文档。奇迹般有效。谢谢乔希,谢谢你写这个包装。因为我所有的解析代码都已经在PHP中,所以这对我来说是一种生命。 – user3323098

+0

NP。如果您不介意,请将此标记为已接受的答案。 –