opencart - 按价格范围获取产品

时间:2016-02-11 07:04:15

标签: opencart opencart2.x

这个问题的答案是从stackoverflow网站查看Google。但它没有找到我的情况的答案。

我需要从OpenCart CMS的数据库中提取有关产品价格范围的信息。 为此我添加了一个方法来建立/ catalog / product.php文件的结尾:

public function getProductByPrice($low, $heigh){
        $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product WHERE price >= " . $low . " AND price < " . $heigh );

        foreach ($query->rows as $result) {
            $product_data[$result['product_id']] = $this->getProduct($result['product_id']);
        }
        return $product_data;
    }

从唯一一个表中提取信息。产品名称在另一个表上。如何直接从两个表中提取数据并将两个结果合并为一个数组?

OpenCart版本:2.1.0.2(rs.1)

1 个答案:

答案 0 :(得分:1)

要从两个表中提取数据,请使用JOINS并获取数据和名称受价格限制的产品,您可以使用此查询:

$query = $this->db->query("SELECT p.*, pd.name FROM " . DB_PREFIX .
         "product p LEFT JOIN " . DB_PREFIX ."product_description pd
          ON p.product_id = pd.product_id WHERE p.price >= " . (int)$low . 
         " AND p.price < " . (int)$high .");

然而,

$this->getProduct($result['product_id']);

还会根据产品ID获取产品名称。

P.S:你拼错了$high