Skip to content

Parameters

Marijn van Wezel edited this page Nov 15, 2021 · 3 revisions

You can use parameters as placeholders for values to be supplied at execution time. You can use parameters with the Cypher DSL like so:

$parameter = Query::parameter("foobar");

A parameter can be used like any other expression.

Examples

Find out who directed a specific movie:

$directedMovie = Query::variable("directedMovie");
$directedMovieNode = Query::node()
	->named($directedMovie)
	->withProperties(["title" => Query::parameter("director")]);

$directors = Query::variable("directors");
$directorsNode = Query::node()->named($directors);

$statement = Query::new()
	->match($directedMovieNode->relationshipFrom($directorsNode)->withType("DIRECTED"))
	->returning($directors->property("name"))
	->build();

$this->assertSame('MATCH (directedMovie {title: $director})<-[:DIRECTED]-(directors) RETURN directors.name', $statement);
Clone this wiki locally