将多维数组传递给Codeigniter Model

时间:2017-08-12 18:47:06

标签: php codeigniter multidimensional-array model associative-array

{
    "word": ["w1", "w2"],
    "meaning": ["m1", "m2"],
    "parts_of_speech": ["p1", "p2"],
}

这是我在模型中的数据,现在分配给 $ data 变量

在上面的 $ data 中,每个索引在含义数组中都有相应的含义,而每个索引都有 parts_of_speech 数组索引中相应的 parts_of_speech 。这样总是字的长度,意思是,parts_of_speech 数组保持不变

我已尝试将以下方法插入表

$this->db->insert('table_words', $data); 

$this->db->insert_batch("table_words",$data);

但它发生了错误

1 个答案:

答案 0 :(得分:0)

CodeIginter接受插入数组,其中键应为'列名'和值值应该是我们要插入的记录。我可以理解你必须插入多行,所以你必须使用批量插入。 请尝试以下代码:

$data = array(
   array(
      'word' => 'w1' ,
      'meaning' => 'm1' ,
      'parts_of_speech' => 'p1'
   ),
   array(
      'word' => 'w2' ,
      'meaning' => 'm2' ,
      'parts_of_speech' => 'p2'
   )
);
$this->db->insert_batch('mytable', $data); 

你的json应该是这样的

[{"word":"w1","meaning":"m1","parts_of_speech":"p1"},{"word":"w2","meaning":"m2","parts_of_speech":"p2"}]