【问题标题】:Mysql-Codeigniter Get Products Related to a ProductMysql-Codeigniter 获取与某个产品相关的产品
【发布时间】:2018-02-20 11:42:16
【问题描述】:

我正在做一个 SQL 查询,我想根据类别将相关产品与产品联系起来。 我的查询如下:

$sql=
        "SELECT * FROM `products` WHERE products.id IN (
        SELECT product_categories.product_id FROM `product_categories` WHERE product_categories.category_id=(
        SELECT product_categories.category_id FROM `product_categories` WHERE product_categories.product_id=".
        $this->db->escape($product_id)."));";
        return $this->db->query($sql)->result(static::$model_name);//return related products array

但这也给了我原始产品我不想要原始产品,我无法使用 JOINS 做到这一点,所以我切换到基本查询仍然卡住。如何在此查询中排除它?

【问题讨论】:

  • products.id != " . $this->db->escape($product_id) . " 添加到您的查询中
  • @ravisachaniya 非常感谢通过与最后一个结果进行与运算解决了这个问题

标签: php sql database codeigniter


【解决方案1】:

我认为你可以通过加入来解决这个问题:

$sql = 'SELECT products.*
        FROM products
        JOIN product_categories ON  product_categories.product_id = products.id
        WHERE product_categories.product_id != '. $this->db->escape($product_id);
return $this->db->query($sql)->result(static::$model_name);//return related products array

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-12-22
    • 2014-01-03
    • 2017-03-12
    • 2018-08-29
    • 2018-04-28
    • 2015-08-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多