在cypher查询中使用current.id

时间:2016-09-03 11:02:23

标签: structr

我无法弄清楚如何在Cypher查询中使用current.id参数。

${cypher('MATCH ... WHERE p.id=\'${current.id}\' RETURN ...)}

我尝试使用$ {concat()}函数连接字符串,但我只知道如果字符串中有另一个函数,则不会执行Cypher查询。

任何想法都会受到赞赏。

干杯 基督教

1 个答案:

答案 0 :(得分:3)

使用${}时,您输入StructrScript上下文,因此它将是current.id而不是另一个嵌套${current.id}。尝试在StructrScript中连接字符串时,可以使用concat()函数。我在本地测试了以下代码段以重现您的问题:

${
  cypher(
    concat('MATCH (p) WHERE p.id = \'',current.id,'\' RETURN p')
  ) 
}

或者,您可以使用${{}}调用的JavaScript上下文。在该上下文中,您也可以使用Structr的内置函数。 E.g:

${{
var query = 'MATCH (p) WHERE p.id = \'' + Structr.current.id + '\' RETURN p';
var result = Structr.cypher(query);
Structr.print(result);
}}