DatabaseQuery class

Serves as a base class for other DatabaseQuery classes

The intention behind these classes is to have a query that can safely be passed between methods and objects that add to it without knowledge of what other methods/objects have done to it. It also means being able to build a complex query without worrying about correct syntax placement.

This file is licensed under the MIT license


Click any linked item for full usage details and examples. Hookable methods are indicated with the icon. In addition to those shown below, the DatabaseQuery class also inherits all the methods and properties of: WireData and Wire.

Show class?     Show args?       Only hookable?    

Common

NameReturnSummary 
DatabaseQuery::bindOption($optionName)
string int arrayGet or set a bind option 
DatabaseQuery::bindValue(string $key, mixed $value)
$thisBind a parameter value 
DatabaseQuery::bindValueGetKey($value)
stringBind value and get unique key that refers to it in one step 
DatabaseQuery::copyBindValuesTo($query)
intCopy bind values from this query to another given DatabaseQuery or \PDOStatement 
DatabaseQuery::copyTo(DatabaseQuery $query)
intCopy queries from this DatabaseQuery to another DatabaseQuery 
DatabaseQuery::execute()
PDOStatement boolExecute the query with the current database handle 
DatabaseQuery::getBindValues()
array intGet bind values, with options 
DatabaseQuery::getDebugQuery()
stringGet SQL query with bind params populated for debugging purposes (not to be used as actual query) 
DatabaseQuery::getQuery()
stringGenerate the SQL query based on everything set in this DatabaseQuery object 
DatabaseQuery::getQueryMethod(string $method)
stringReturn the generated SQL for specific query method 
DatabaseQuery::getSQL()
stringReturn generated SQL for entire query or specific method 
DatabaseQuery::getUniqueBindKey()
stringGet a unique key to use for bind value 
DatabaseQuery::prepare()
PDOStatementPrepare and return a PDOStatement 
DatabaseQuery::where($sql)
$this
Can also be used as property: DatabaseQuery::where

Properties

NameReturnSummary 
DatabaseQuery::bindKeys array 
DatabaseQuery::bindOptions array 
DatabaseQuery::bindValues array 
DatabaseQuery::query string 
DatabaseQuery::sql string 

Additional methods and properties

In addition to the methods and properties above, DatabaseQuery also inherits the methods and properties of these classes:

API reference based on ProcessWire core version 3.0.251