如何将数组传递给CodeIgniter中的where条件?

时间:2012-01-31 08:59:30

标签: php mysql codeigniter

我在我的应用程序中使用CodeIgniter。我有这样的代码

  

$ this-> db-> where('a.PreferenceID NOT IN(SELECT PreferenceParentID)   来自'。$ table。' WHERE EntityID ='。$ shop_id。')',NULL,FALSE);

我想传递array而不是$shop_id

喜欢

$arr = array(1,3,5);

WHERE EntityID='. $arr.'

它将等于

WHERE (EntityID='. $arr[0].' OR EntityID='. $arr[1].' OR EntityID='. $arr[2].')

因为我想查看多个商店ID。什么是最好的方式?

3 个答案:

答案 0 :(得分:3)

使用IN子句,如

$this->db->where('a.PreferenceID NOT IN (
    SELECT PreferenceParentID FROM '.$table.' 
    WHERE EntityID IN ('.implode(",", $array).'))',
    NULL, FALSE
);

答案 1 :(得分:1)

使用

'SELECT PreferenceParentID FROM '.$table.' WHERE EntityID IN ('.implode(',', $arr_id).')'

答案 2 :(得分:0)

尝试类似

的内容
WHERE EntityID IN('.implode(',', $arr).')