我需要一些帮助来解决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
数组可以查询数据库并获取表中与数组值不匹配的所有值吗?
答案 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条件