如何将php数组设置为属性值Cypher-Neo4j
我有一个php数组如何将php数组设置为属性值Cypher-Neo4j,php,cypher,neo4jphp,neo4j,Php,Cypher,Neo4jphp,Neo4j,我有一个php数组$id=[1234454667746789] 我想将此数组设置为关系:knows的属性id的值,表示为 (:user)-[:knows{id:[]}]->(:data) 我使用neo4j的everyman php插件 我尝试了下面的查询,但它给出了一个错误数组无法转换为字符串 $id=[12344,546674,6789]; $client = new Everyman\Neo4j\Client(); $query= "match (u:user
$id=[1234454667746789]代码>
我想将此数组设置为关系:knows
的属性id
的值,表示为
(:user)-[:knows{id:[]}]->(:data)
我使用neo4j的everyman php插件
我尝试了下面的查询,但它给出了一个错误数组无法转换为字符串
$id=[12344,546674,6789];
$client = new Everyman\Neo4j\Client();
$query= "match (u:user{id:".$user_id."})-[r:knows]->(c:data)
set r.id=".$id."";
$result = new Everyman\Neo4j\Cypher\Query($client, $query);
请帮忙,提前谢谢我终于找到了解决办法
我发布这个答案是为了帮助其他有同样疑问的人
您可以这样使用数组,而不是直接在cypher查询中指定数组
$id=[12344,546674,6789];
$client = new Everyman\Neo4j\Client();
$query= "match (u:user{id:".$user_id."})-[r:knows]->(c:data)
set r.id={myid}";
$result = new Everyman\Neo4j\Cypher\Query($client, $query,array('myid' => $id));
希望这有帮助,谢谢
set r.id=".$id."";
错了!无法将数组转换为字符串!这是php错误,不是neo4j
在密码中,数组表示为[1,2,3]
查询应该如下所示
$query= "match (u:user{id:".$user_id."})-[r:knows]->(c:data)
set r.id=[" . implode(',', $id) . "]";
使用语句参数更好,但我不知道确切的语法。应该是这样的:
$params = array( 'id' => $id');
$query= "match (u:user{id:".$user_id."})-[r:knows]->(c:data)
set r.id= {id} ";
$result = new Everyman\Neo4j\Cypher\Query($client, $query, $params);
谢谢你的回复,我已经找到了答案,请看下面我的答案