php - Opencart从唯一表进行sql查询

标签 php mysql opencart2.x

我有一个经过严格修改的 opencart 商店。 我想在主类别页面上显示子类别中的所有产品。这是我的产品模型文件中的半成品代码。

    } else {
        $cat_sql = "SELECT `category_id` FROM `" . DB_PREFIX . "category_path` WHERE `path_id` = '" . (int)$data['filter_category_id'] . "'";
        $cat_query = $this->db->query($cat_sql);
        if ($cat_query->num_rows) {
        $sql .= " AND (p2c.category_id = '" . (int)$data['filter_category_id'] . "'";
        foreach($cat_query->rows as $cat) {
        $sql .= " OR p2c.category_id = '" . (int)$cat['category_id'] . "'";
        }
        $sql .= ")";

        } else {
        $sql .= " AND p2c.category_id = '" . (int)$data['filter_category_id'] . "'";
        }
    }

它应该显示这些产品。

但现在我有另一个表用于多个父类别。

我的问题是:如何显示子类别中的产品,其中我只有 parent_id 而不是 path_id

多类别表很简单。

category_id/parent_id

如何修改上面的代码,以便它显示子类别中没有 path_idparent_id 的所有产品?

最佳答案

您不需要修改sql,只需传递额外的参数'filter_sub_category' => true,它就会列出所有产品,包括子类别

$filter_data = array(
'filter_category_id'  => $category_id,
'filter_sub_category' => true
);
$results = $this->model_catalog_product->getProducts($filter_data);  

关于php - Opencart从唯一表进行sql查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34092435/

相关文章:

php - 如何在 php 中像 python argparse 一样获得 getop() 的高级用法

mysql - CPanel/MySql ENUM 将默认设置为 ' ' ?

php - 如何在 OpenCart 2.0.3.1 中从 OpenCart 1.5.6.4 导入产品

php - MySQL错误: Unknown column 'product_name' in 'where clause' in opencart

php - 根据搜索条件在 PHP 中嵌入 SQL 搜索 $var

PHP : Google plus Oauth 2. 0 - 获取 OAuth2 访问 token 时出错,消息: 'invalid_client'

mysql - 选择哪个 MySQL 分支/版本?

mysql - 计算mysql中具有相同值的行,然后显示项目编号

overriding - 在不触及核心和 VQMOD/OCMOD 的情况下修改 OpenCart 的最佳方法

javascript - 将多个表单数据传递给 PHP Controller