FieldtypeToggle::getMatchQuery() method

@param DatabaseQuerySelect|PageFinderDatabaseQuerySelect $query

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

$databaseQuerySelect = $fieldtypeToggle->getMatchQuery($query, string $table, string $subfield, string $operator, mixed $value);

Arguments

NameType(s)Description
queryDatabaseQuerySelect, PageFinderDatabaseQuerySelect
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

DatabaseQuerySelect PageFinderDatabaseQuerySelect

$query

Exceptions

Method can throw exceptions on error:

  • WireException


FieldtypeToggle methods and properties

API reference based on ProcessWire core version 3.0.236

Latest news

  • ProcessWire Weekly #550
    In the 550th issue of ProcessWire Weekly we're going to check out the latest core updates, introduce a new third party module called PagefileMetadata, and more. Read on!
    Weekly.pw / 23 November 2024
  • Custom Fields Module
    This week we look at a new ProFields module named Custom Fields. This module provides a way to rapidly build out ProcessWire fields that contain any number of subfields/properties within them.
    Blog / 30 August 2024
  • Subscribe to weekly ProcessWire news

“Indeed, if ProcessWire can be considered as a CMS in its own right, it also offers all the advantages of a CMF (Content Management Framework). Unlike other solutions, the programmer is not forced to follow the proposed model and can integrate his/her ways of doing things.” —Guy Verville, Spiria Digital Inc.