Load Details
apply_filters_ref_array( 'vikrestaurants_load_restaurant_reservation_details', bool $status, mixed &$query, int $id, mixed $langtag, array $options )
Fires while creating the query used to load the details of a restaurant reservation.
Description
External plugins can attach to this hook in order to manipulate the query at runtime, useful to include some details that are not fetched by default.
Parameters
- $status
-
(bool) True on success, false otherwise. It is possible to manipulate this argument to alter the query used to fetch the reservation details.
- &$query
-
(string|JDatabaseQuery) Either a query string or a query builder instance.
- $id
-
(int) The ID of the reservation to load.
- $langtag
-
(null/string) An optional language tag for i18n support.
- $options
-
(array) An associative array containing a few loading options.
Example
The example below can be used to override the ordering of the query, by sorting the purchased products with their specified ordering.
/**
* External plugins can attach to this hook in order to manipulate
* the query at runtime, in example to alter the default ordering.
*
* @param boolean $status True on success, false otherwise.
* @param mixed &$query A query builder instance.
* @param integer $id The ID of the reservation.
* @param mixed $langtag The language tag. If null, the default one will be used.
* @param array $options An array of options to be passed to the order instance.
*/
add_filter('vikrestaurants_load_restaurant_reservation_details', function($status, &$query, $id, $langtag, $options)
{
$dbo = JFactory::getDbo();
// let's load the product image too
$query->select($dbo->qn('sp.image', 'product_image'));
// join table holding the details of the product with the table of the purchased items
$query->leftjoin($dbo->qn('#__vikrestaurants_section_product', 'sp') . ' ON ' . $dbo->qn('i.id_product') . ' = ' . $dbo->qn('sp.id'));
// clear any other ordering
$query->clear('order');
// set our new ordering
$query->order($dbo->qn('sp.ordering') . ' ASC');
return true;
}, 10, 5);
Changelog
Version | Description |
---|---|
1.2.1 | Introduced. |
Last Update: 2021-03-03
Helpful?