cakephp saveMany()与foreach循环

时间:2015-01-28 18:34:53

标签: arrays cakephp csv

这个问题似乎不适合我。

是否可以使用cakePHP的saveMany()来保存数组数组。 案例:
如果你有一个包含很多列和行的csv文件。在我的情况下,在foreach循环中调用saveMany只会保存csv文件的第一行并停止。

我觉得应该一行一行地保存,但似乎我错了。 在cakephp中还有更简单的方法吗?

1 个答案:

答案 0 :(得分:0)

是的,您可以使用saveMany()一次保存同一模型的多个。您必须仔细格式化数据,否则它将无法工作:

$data = array(
   0 => array(
     'Model' => array(
        'field1' => 1,
        'field2' => 2,
     ),
   ),
   1 => array(
     'Model' => array(
        'field1' => 1,
        'field2' => 2,
     ),
   ),
);

或者你可以省略'模型'像这样:

$data = array(
   0 => array(
      'field1' => 1,
      'field2' => 2,
   ),
   1 => array(
      'field1' => 1,
      'field2' => 2,
   ),
);

请参阅有关SaveMany的食谱:http://book.cakephp.org/2.0/en/models/saving-your-data.html#model-savemany-array-data-null-array-options-array