2016-09-03 5 views
0

Cypherクエリでcurrent.idパラメータを使用する方法を理解できません。Cypherクエリでcurrent.idを使用する

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

Iは$ {CONCAT()}関数を使用して文字列を連結しようとしたが、私は文字列内の他の機能がある場合サイファーのクエリが実行されないことを考え出しました。

すべてのアイデアをいただければ幸いです。 ${}を使用している場合

乾杯 クリスチャン

答えて

3

あなたはStructrScriptコンテキストを入力しますので、他のネストされた${current.id}とは対照的に、それはcurrent.idだろう。 StructrScriptで文字列を連結しようとすると、concat()関数を使用できます。私はあなたの問題を再現するために、ローカルに次のコードをテストした:

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

代わりにあなたが${{}}によって呼び出されるJavaScriptのコンテキストで仕事ができます。このコンテキストの中で、Structrの組み込み関数も使用できます。例:

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

素晴らしい、ありがとう! – Christian

関連する問題