Pages::addWhere($field[,$operator],$value)
Version 2019.1
Add new where clause to query
Version 2019.1
Add new where clause to query
Operator is not implemented in every fieldtype!!!
$this
Get all projects that are open: NOTE!!! This will inititate LIKE -search when textfield.
$Projects = $this->get('pages','project')->addWhere('status', 'open);
Get products that have exactly given value:
$Projects = $this->get('pages','product')->addWhere('code', '=', '1234');
Only examples in this document are tested.
Fieldtypes: id
$idList may be comma delimited list or array.
$Pages->addWhere('id', $idList); // Default: IN
$Pages->addWhere('id', '=', $idList); // Same as IN
$Pages->addWhere('id', 'IN', $idList);
$Pages->addWhere('id', '!=', $idList); // Same as NOT IN
$Pages->addWhere('id', 'NOT IN', $idList );
$Pages->addWhere('id', '<', $int ); // Also <=, >, >=
// Not implemented:
// LIKE, NOT LIKE - Makes no sence
// IS NULL, IS NOT MULL - Cant be null
Fieldtypes: name, description, text, phone, email, url
$list may be comma delimited list with "" value delimiters or array.
$Pages->addWhere('name', $string); // Default: LIKE
$Pages->addWhere('name', '=', $string); // Exact value
$Pages->addWhere('name', '!=', $string); // Exactly NOT value
$Pages->addWhere('name', 'IN', $list); // Exactly one of the given values.
$Pages->addWhere('name', 'NOT IN', $list ); // Exactly NOT one of the given values.
$Pages->addWhere('name', 'LIKE', $string); // Contains text. Default: %string%
$Pages->addWhere('name', 'LIKE', $arrayList); // Contains one of given texts.
$Pages->addWhere('name', 'NOT LIKE', $string); // Does not contain text. Default: %string%
$Pages->addWhere('name', 'NOT LIKE', $arrayList); // Does not contain any of given texts.
$Pages->addWhere('name', 'IS NULL');
$Pages->addWhere('name', 'NOT NULL');
// Not implemented:
// <, >, <=, >= - Makes no sence
// IS NULL, IS NOT MULL - Cant be null
Fieldtypes: number, money, order, rate
$list may be comma delimited list with "" value delimiters or array.
$Pages->addWhere('number', $string); // Default: =
$Pages->addWhere('number', $arrayList); // One of given values
$Pages->addWhere('number', '=', $string); // Exact value
$Pages->addWhere('number', '!=', $string); // Exactly NOT value
$Pages->addWhere('number', 'IN', $list); // Exactly one of the given values.
$Pages->addWhere('number', 'NOT IN', $list ); // Exactly NOT one of the given values.
$Pages->addWhere('number', 'LIKE', $string); // Contains text. Default: %string%
$Pages->addWhere('number', 'LIKE', $arrayList); // Contains one of given texts.
$Pages->addWhere('number', 'NOT LIKE', $string); // Does not contain text. Default: %string%
$Pages->addWhere('number', 'NOT LIKE', $arrayList); // Does not contain any of given texts.
$Pages->addWhere('number', 'IS NULL');
$Pages->addWhere('number', 'NOT NULL');
$Pages->addWhere('name', '<', 'Three'); // All where value before given argument
$Pages->addWhere('customer', $string); // Default: customer.title LIKE
$Pages->addWhere('customer', $idList); // Default: customer.nr IN ()
$Pages->addWhere('customer', 'LIKE', $idList); // customer.title
$Pages->addWhere('customer', 'NOT LIKE'); // customer.title
$Pages->addWhere('customer', 'IN', $idList); // customer.nr IN ()
$Pages->addWhere('customer', 'NOT IN', $idList); // customer.nr NOT IN ()
Find from join table field:
$Pages->addWhere('customer.active', 'Given'); // Find active customers
Find from referring table field:
$Pages->addWhere('invoice__customer.state', 'Open'); // Find customers that has open invoices
$Pages->addWhere('poistetut', '0'); // Find only pages that are not deleted
$Pages->addWhere('poistetut', '1'); // Find only deleted pages
$Pages->addWhere('poistetut', 'kaikki'); // Find all pages