Page History
...
Code Block |
---|
// Filter products within an array of product codes var success = databaseManager.addTableFilterParam('crm', 'products', 'productcode', 'in', [120, 144, 200]); // Filter orders using a subselect var success = databaseManager.addTableFilterParam('crm', 'orders', 'countrycode', 'sql:in', 'select country code from countries where region = "Europe"') |
Note | ||||||||
---|---|---|---|---|---|---|---|---|
In Servoy 2020.03 we added support for sql-modifier . When value of the filter is a custom query, the operator used should be prefixed with "sql:" (like sql:in , sql:=, ...). This is a security feature, so a developer should explicitly mark a value as a select query. Currently, the operator works without the sql-modifier (the old way), but it will generate a warning in the log: "Filter is created using a custom query without using the sql-modifier, this will be removed in a future version of servoy, please use operator 'sql:in'". See issue |
Example This example shows filters on null values
Code Block |
---|
// Filter products within product code is null var success = databaseManager.addTableFilterParam('crm', 'products', 'productcode', '=', null); // Filter products within product code is not null var success = databaseManager.addTableFilterParam('crm', 'products', 'productcode', '!=', null); // Filter products within product code is null or 120 var success = databaseManager.addTableFilterParam('crm', 'products', 'productcode', '^||='', 120); |
Example This example shows how to filter an entire server connection by passing <null> for the table name. This is ideal for multi-tenant architectures as an entire server connection can be filtered by a single expression, i.e. the current company
...