0

我有一个包含如下键和值的数组:

Array ( [1] => 0 [3] => 0 )

我想调用一个 question_id = 1 且值为 0 的数据库,并将其与 question_id = 3 且值为 0 的查询相结合。我正在使用 Codeigniter。

我试过了:

foreach($array as $key=>$value){
    $this->db->where('question_id', $key);
    $this->db->where('value', $value);
    $this->db->from('movies_values');
    $query = $this->db->get();
    $res = $query->result();
    print_r($res);
    array_push($main_array,$res);
}
4

1 回答 1

1

如果我猜对了,请尝试以下

$this->db->where_in('question_id',array_keys($array));
$this->db->where_in('value', array_values($array));
return $this->db->get('movies_values')->result();

如果你想成对检查 where 子句,编辑试试这个

$count=0;
foreach($array as $key=>$value)
{
    $where=array('question_id' => $key, 'value' => $value);
    if($count==0)
        $this->db->where($where);
    else
        $this->db->or_where($where);
    $count++;
}
return $this->db->get('movies_values')->result();

那会产生

SELECT *
FROM movies_values
WHERE question_id = key1 AND value val1
OR question_id = key2 AND value val2
OR question_id = key3 AND value val3

参考:活动记录

于 2013-02-23T22:47:56.087 回答