我无法弄清楚如何在Cypher查询中使用current.id参数。
${cypher('MATCH ... WHERE p.id=\'${current.id}\' RETURN ...)}
我尝试使用$ {concat()}函数连接字符串,但我只知道如果字符串中有另一个函数,则不会执行Cypher查询。
任何想法都会受到赞赏。
干杯 基督教
答案 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);
}}