将where_in()与多维数组一起使用

时间:2013-12-30 21:41:47

标签: php arrays codeigniter activerecord

我想知道如何在where_in()函数中使用具有多维数组的CodeIgnitors。到目前为止我是这样做的,但是我得到了一个数组字符串转换错误。

示例数组:(数组是动态的,将根据用户输入的内容而改变)

array([0]=>'hello',[1]=>'goodbye');

我的模特:

 $this->db->where_in('Column',$array);
        $query = $this->db->get('Table');
        $result = $query->result();
        foreach ($result as $row) {
            $vID = $row->ID;
            $this->db->insert('Table2', array('ID' => $id, 'val' => $vID));
        }

我收到以下错误:

Message: Array to string conversion

Filename: database/DB_active_rec.php

Line Number: 555

这一个:

Error Number: 1054

Unknown column 'Array' in 'where clause'

SELECT * FROM (`Tags`) WHERE `Tags` IN (Array) 

1 个答案:

答案 0 :(得分:1)

当人们使用 CI 并且只是不阅读指南时,我总是感到沮丧,它明确指出您只能使用以下内容:

  1. 简单的键/值(name = something)
  2. 自定义键/值(名称!=某事)
  3. 关联数组(name => something)
  4. 自定义字符串(“name ='something'”)
  5. 你不能使用“多维”数组,而只是折腾,并让它适合你。请阅读此处的指南:http://ellislab.com/codeigniter/user-guide/database/active_record.html