Your cart is empty!
Build Query
public function onBuildAllOrdersQuery( mixed &$query, string $group, array &$options ) : void
Fires while loading the restaurants reservations or the take-away orders to display.
Description
Trigger hook to manipulate at runtime the query used to load the restaurants reservations or the take-away orders 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.
- $group
-
(string) The current group ("restaurant" or "takeaway").
- &$options
-
(array) An array of options.
start
- the query offset to handle the pagination;limit
- the maximum number of reservations/orders to display per page.
Return Value
None.
Example
The example below joins the reservations 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 string $group The group to use ("restaurant" or "takeaway").
* @param array &$options An array of options.
*
* @return void
*/
public function onBuildAllOrdersQuery(&$query, $group, &$options)
{
$db = JFactory::getDbo();
// select some columns
$query->select($db->qn(['tpt.column1', 'tpt.column2']));
// join restaurant reservations to a third-party table
$query->leftjoin($db->qn('#__myplugin_third_party_table', 'tpt') . ' ON ' . $db->qn('tpt.id_reservation') . ' = ' . $db->qn('r.id'));
// avoid duplicates
$query->group($db->qn('r.id'));
}
Changelog
Version | Description |
---|---|
1.9 | Introduced. |
Last Update: 2023-12-29 14:15
Helpful?