public function onBuildAllOrdersQuery(mixed &$queryarray &$options) : void

Fires while loading the appointments to display.


Description

Trigger hook to manipulate at runtime the query used to load the appointments to display under the All Orders page in the front-end.

Third party plugins can extend the query by applying further conditions or selecting additional data.


Parameters

&$query

(mixed)  Either a query builder object or a plain string.

&$options

(array)  An array of options.

  • start - the query offset to handle the pagination;
  • limit - the maximum number of appointments to display per page.

Return Value

None.


Example

The example below joins the appointments table to a third-party table to access further data.

/**
 * Trigger hook to manipulate the query at runtime. Third party plugins
 * can extend the query by applying further conditions or selecting
 * additional data.
 *
 * @param   mixed  &$query    Either a query builder or a query string.
 * @param   array  &$options  An array of options.
 *
 * @return  void
 */
public function onBuildAllOrdersQuery(&$query, &$options)
{
    $dbo = JFactory::getDbo();

    // select some columns
    $query->select($dbo->qn(['tpt.column1', 'tpt.column2']));
    // join appointments to a third-party table
    $query->leftjoin($dbo->qn('#__myplugin_third_party_table', 'tpt') . ' ON ' . $dbo->qn('tpt.id_reservation') . ' = ' . $dbo->qn('r.id'));
    // avoid duplicates
    $query->group($dbo->qn('r.id'));
}

Changelog

VersionDescription
1.7 Introduced.
Last Update: 2021-10-11 09:32
Helpful?
See Also: