112 lines
2.0 KiB
PHP
112 lines
2.0 KiB
PHP
<?php
|
|
/**
|
|
* Class used for querying products.
|
|
*
|
|
* @package WP_Ultimo
|
|
* @subpackage Database\Products
|
|
* @since 2.0.0
|
|
*/
|
|
|
|
namespace WP_Ultimo\Database\Products;
|
|
|
|
use WP_Ultimo\Database\Engine\Query;
|
|
|
|
// Exit if accessed directly
|
|
defined('ABSPATH') || exit;
|
|
|
|
/**
|
|
* Class used for querying products.
|
|
*
|
|
* @since 2.0.0
|
|
*/
|
|
class Product_Query extends Query {
|
|
|
|
/** Table Properties ******************************************************/
|
|
|
|
/**
|
|
* Name of the database table to query.
|
|
*
|
|
* @since 2.0.0
|
|
* @access public
|
|
* @var string
|
|
*/
|
|
protected $table_name = 'products';
|
|
|
|
/**
|
|
* String used to alias the database table in MySQL statement.
|
|
*
|
|
* @since 2.0.0
|
|
* @access public
|
|
* @var string
|
|
*/
|
|
protected $table_alias = 'p';
|
|
|
|
/**
|
|
* Name of class used to setup the database schema
|
|
*
|
|
* @since 2.0.0
|
|
* @access public
|
|
* @var string
|
|
*/
|
|
protected $table_schema = \WP_Ultimo\Database\Products\Products_Schema::class;
|
|
|
|
/** Item ******************************************************************/
|
|
|
|
/**
|
|
* Name for a single item
|
|
*
|
|
* @since 2.0.0
|
|
* @access public
|
|
* @var string
|
|
*/
|
|
protected $item_name = 'product';
|
|
|
|
/**
|
|
* Plural version for a group of items.
|
|
*
|
|
* @since 2.0.0
|
|
* @access public
|
|
* @var string
|
|
*/
|
|
protected $item_name_plural = 'products';
|
|
|
|
/**
|
|
* Callback function for turning IDs into objects
|
|
*
|
|
* @since 2.0.0
|
|
* @access public
|
|
* @var mixed
|
|
*/
|
|
protected $item_shape = \WP_Ultimo\Models\Product::class;
|
|
|
|
/**
|
|
* Group to cache queries and queried items in.
|
|
*
|
|
* @since 2.0.0
|
|
* @access public
|
|
* @var string
|
|
*/
|
|
protected $cache_group = 'products';
|
|
|
|
/**
|
|
* If we should use a global cache group.
|
|
*
|
|
* @since 2.1.2
|
|
* @var bool
|
|
*/
|
|
protected $global_cache = true;
|
|
|
|
/**
|
|
* Sets up the customer query, based on the query vars passed.
|
|
*
|
|
* @since 2.0.0
|
|
* @access public
|
|
*
|
|
* @param string|array $query Array of query arguments.
|
|
*/
|
|
public function __construct($query = []) {
|
|
|
|
parent::__construct($query);
|
|
}
|
|
}
|