代码之家  ›  专栏  ›  技术社区  ›  Udders

codeigniter中mysql查询子句帮助

  •  0
  • Udders  · 技术社区  · 14 年前

    我需要一些帮助来解决MySQL的问题,是否可以将数组传递给函数,然后对数组值运行匹配?

    我有这个问题

    function getMenu($cookieId) {
        $this->db->select('*');
        $this->db->from('categoryTable');
        $this->db->join('userMenuTable', 'categoryTable.categoryId = userMenuTable.categoryId', 'left');
        $this->db->where('userMenuTable.cookieId', $cookieId);
    
        $query = $this->db->get();
        return $query->result_array();
    
    }
    

    使用 $query 返回的数组是否可以查询数据库并从与数组值不匹配的表中获取所有值?

    2 回复  |  直到 14 年前
        1
  •  1
  •   Matteo Riva    14 年前

    在查询中使用此条件:

    $this->db->where_not_in('fieldname', $array_of_values);
    

    您将无法直接使用示例中返回的数组,因为它来自 SELECT * 因此,它包含表的所有字段。您必须构建一个数组,其中只包含要筛选下一个查询的字段的值。

        2
  •  0
  •   Gabriel Solomon    14 年前

    那个数组中有哪些列? 理论上你可以做一个

    select from `new table` where `field` NOT IN (Select `field` from `old_table`)
    

    只在一个查询中执行此操作,或者将不在条件中的数组传递给