帮助CodeIgniter中的MySQL查询子句

时间:2010-02-15 14:57:50

标签: php mysql codeigniter

我需要一些帮助来解决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 个答案:

答案 0 :(得分:1)

在您的查询中使用此条件:

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

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

答案 1 :(得分:0)

您在该阵列中有哪些列? 从理论上讲,你可以做一个

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

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