Repository navigation
PreparedQuery
Daniel Carbone edited this page Nov 6, 2026
·
1 revision
$consul->PreparedQuery wraps Consul's Prepared Query API.
use DCarbone\PHPConsulAPI\PreparedQuery\PreparedQueryDefinition;
use DCarbone\PHPConsulAPI\PreparedQuery\ServiceQuery;
[$id, $wm, $err] = $consul->PreparedQuery->Create(query: new PreparedQueryDefinition(
Name: 'web-query',
Service: new ServiceQuery(Service: 'web', OnlyPassing: true),
));
[$result, $qm, $err] = $consul->PreparedQuery->Execute(queryIDOrName: 'web-query');
foreach ($result->Nodes as $entry) {
// ServiceEntry, same shape as Health->Service results
echo "{$entry->Node->Node} {$entry->Service->Port}\n";
}
[$wm, $err] = $consul->PreparedQuery->Delete(queryID: $id);Get returns an array of definitions (Consul's endpoint returns a list), so use $defs[0]:
[$defs, $qm, $err] = $consul->PreparedQuery->Get(queryID: $id);
$def = $defs[0];ServiceQuery also supports Tags, NodeMeta, ServiceMeta, Near, Failover and IgnoreCheckIDs.