Fieldtype::getMatchQuery() method

Get the database query that matches a Fieldtype table’s data with a given value.

Possible template method: If overridden, children do not need to call this method if they update the $query themselves.

Note the following additional properties are available from the $query argument:

  • $query->field (Field): Field instance that being referred to match.
  • $query->group (string): Original group of the field in the selector (when applicable).
  • $query->selector (Selector): Original Selector object (matching the $field).
  • $query->selectors (Selectors): Original Selectors object (matching $field and others).
  • $query->parentQuery (DatabaseQuerySelect): Parent database query that $query will be merged into.
  • $query->pageFinder (PageFinder): The PageFinder instance that initiated the query, for additional info.

Usage

$pageFinderDatabaseQuerySelect = $fieldtype->getMatchQuery(PageFinderDatabaseQuerySelect $query, string $table, string $subfield, string $operator, mixed $value);

Arguments

NameType(s)Description
queryPageFinderDatabaseQuerySelect
tablestring

The table name to use

subfieldstring

Name of the subfield (typically 'data', unless selector explicitly specified another)

operatorstring

The comparison operator.

  • This base Fieldtype class accepts only database operators (=, !=, >, >=, <, <=, &).
  • Other Fieldtypes may choose to accept more operators according to need of Fieldtype.
valuemixed

Value to find.

  • If given array, this base Fieldtype class (only) will match via OR condition. (3.0.182+)
  • Other Fieldtypes may choose to interpret array values differently according need of Fieldtype.

Return value

PageFinderDatabaseQuerySelect DatabaseQuerySelect

$query

Exceptions

Method can throw exceptions on error:

  • WireException


Fieldtype methods and properties

API reference based on ProcessWire core version 3.0.244

Latest news

  • ProcessWire Weekly #572
    The 572nd issue of ProcessWire Weekly brings in all the latest news from the ProcessWire community. Modules, sites, and more. Read on!
    Weekly.pw / 26 April 2025
  • ProcessWire 3.0.244 new main/master version
    ProcessWire 3.0.244 is our newest main/master/stable version. It's been more than a year in the making and is packed with tons of new features, issue fixes, optimizations and more. This post covers all the details.
    Blog / 18 January 2025
  • Subscribe to weekly ProcessWire news

“We were really happy to build our new portfolio website on ProcessWire! We wanted something that gave us plenty of control on the back-end, without any bloat on the front end - just a nice, easy to access API for all our content that left us free to design and build however we liked.” —Castus, web design agency in Sheffield, UK