== TQL Custom Tags ==
Custom tags for performing TQL based operations.
Documentation on [[Transfer Query Language]]
These custom tags can be used to perform both ''listByQuery' and ''readByQuery' operations via a alternate syntax than their CFC based implementations.
=== query ===
Tag for performing a TQL query.
'''Syntax'''
'''Attributes'''
{| border="1" cellpadding="2"
! Attribute
! Req/Opt
! Default
! Description
|-
| transfer
| Required
| -
| The Transfer library, as returned from transferFactory.getTransfer()
|-
| name
| Required
| -
| If ''action=list'', then the name of the variables to return the query to If ''action=read'', then the name of the variable to return the TransferObject to
|-
| action
| Optional
| 'list'
| ''list:'' performs a [http://docs.transfer-orm.com/html/transferapi/transfer/com/Transfer.html#listByQuery() listByQuery()] operation. ''read'': performs a [http://docs.transfer-orm.com/html/transferapi/transfer/com/Transfer.html#readByQuery() readByQuery()] operation.
|-
| class
| Required only if ''action=read''
| -
| The class to read when performing the [http://docs.transfer-orm.com/html/transferapi/transfer/com/Transfer.html#readByQuery() readByQuery()] operation.
|-
| cacheEvaluation
| Optional
| true
| Whether or not to cache the evaluation of the TQL, which is good for performance.
|-
| distinctMode
| Optional
| false
| Whether or not to have the resultant SQL run as SELECT DISTINCT...
|-
| aliasColumns
| Optional
| true
| Whether or not to alias the the column names on the resultant Query object with the property names configured in the [[Transfer Configuration File]].
|}
=== queryparam ===
Tag for setting dynamic values within the TQL query.
'''Syntax'''
'''Attributes'''
{| border="1" cellpadding="2"
! Attribute
! Req/Opt
! Default
! Description
|-
| value
| Required, unless ''isNull = true''
| -
| The value of the parameter
|-
| type
| Optional
| string
| The type of the value for the parameter, either string, numeric, boolean, GUID, UUID or binary.
|-
| list
| Optional
| false
| Whether or not the value is a delimited list of values, and should be handled separately.
|-
| isNull
| Optional
| false
| Whether the passed in value is actully NULL or not.
|}
=== Examples ===
select
u.firstName, u.lastName
from
user.User as u
where
u.email like
from
user.User as u
where
u.email =
[[Category:TQL]]