OpenCart 🇺🇦

Класс ModelReportProduct extends Model { ... }

Тип Возвр. Описание
public mixed getProductsViewed ( $data = array() )
Исходный код метода:
$sql = "SELECT pd.name, p.model, p.viewed FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) WHERE pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.viewed > 0 ORDER BY p.viewed DESC";

if (isset($data['start']) || isset($data['limit'])) {
	if ($data['start'] < 0) {
		$data['start'] = 0;
	}			

	if ($data['limit'] < 1) {
		$data['limit'] = 20;
	}	

	$sql .= " LIMIT " . (int)$data['start'] . "," . (int)$data['limit'];
}	

$query = $this->db->query($sql);

return $query->rows;
public mixed getTotalProductsViewed ( )
Исходный код метода:
$query = $this->db->query("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "product WHERE viewed > 0");

return $query->row['total'];
public mixed getTotalProductViews ( )
Исходный код метода:
$query = $this->db->query("SELECT SUM(viewed) AS total FROM " . DB_PREFIX . "product");

return $query->row['total'];
public mixed reset ( )
Исходный код метода:
$this->db->query("UPDATE " . DB_PREFIX . "product SET viewed = '0'");
public mixed getPurchased ( $data = array() )
Исходный код метода:
$sql = "SELECT op.name, op.model, SUM(op.quantity) AS quantity, SUM(op.total + op.total * op.tax / 100) AS total FROM " . DB_PREFIX . "order_product op LEFT JOIN `" . DB_PREFIX . "order` o ON (op.order_id = o.order_id)";

if (!empty($data['filter_order_status_id'])) {
	$sql .= " WHERE o.order_status_id = '" . (int)$data['filter_order_status_id'] . "'";
} else {
	$sql .= " WHERE o.order_status_id > '0'";
}

if (!empty($data['filter_date_start'])) {
	$sql .= " AND DATE(o.date_added) >= '" . $this->db->escape($data['filter_date_start']) . "'";
}

if (!empty($data['filter_date_end'])) {
	$sql .= " AND DATE(o.date_added) <= '" . $this->db->escape($data['filter_date_end']) . "'";
}

$sql .= " GROUP BY op.model ORDER BY total DESC";

if (isset($data['start']) || isset($data['limit'])) {
	if ($data['start'] < 0) {
		$data['start'] = 0;
	}			

	if ($data['limit'] < 1) {
		$data['limit'] = 20;
	}	

	$sql .= " LIMIT " . (int)$data['start'] . "," . (int)$data['limit'];
}

$query = $this->db->query($sql);

return $query->rows;
public mixed getTotalPurchased ( $data )
Исходный код метода:
$sql = "SELECT COUNT(DISTINCT op.model) AS total FROM `" . DB_PREFIX . "order_product` op LEFT JOIN `" . DB_PREFIX . "order` o ON (op.order_id = o.order_id)";

if (!empty($data['filter_order_status_id'])) {
	$sql .= " WHERE o.order_status_id = '" . (int)$data['filter_order_status_id'] . "'";
} else {
	$sql .= " WHERE o.order_status_id > '0'";
}

if (!empty($data['filter_date_start'])) {
	$sql .= " AND DATE(o.date_added) >= '" . $this->db->escape($data['filter_date_start']) . "'";
}

if (!empty($data['filter_date_end'])) {
	$sql .= " AND DATE(o.date_added) <= '" . $this->db->escape($data['filter_date_end']) . "'";
}

$query = $this->db->query($sql);

return $query->row['total'];

Связанные классы:

Название класса Роль
class Config { ... } Компонент Config используется в данном классе
class DB { ... } Компонент Db используется в данном классе

Комментарии