2014-02-18 57 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。如果您不介意,請將此標記爲已接受的答案。 –