在cakephp中批量插入记录

时间:2012-03-27 06:20:52

标签: php cakephp

在cakephp中是否可以批量插入记录?

请尽可能回复我,告诉我一些样品?

我的查询看起来像

INSERT INTO `job_places` (`id`, `country_code`, `group`, `name`) VALUES
 (1, 'DE', 3, 'Hamburg'),
 (6, 'FFF', 1, 'Frankfurt');

1 个答案:

答案 0 :(得分:6)

http://book.cakephp.org/1.3/view/1031/Saving-Your-Data

之类的内容saveAll
  

用于保存(a)单个模型的多个单独记录或(b)此记录以及所有相关记录   为了保存单个模型的多个记录,$ data需要是a   数字索引的记录数组,如下所示:

Array (

>     [Article] => Array(
>           [0] => Array
>               (
>                             [title] => title 1
>                         )
>           [1] => Array
>               (
>                             [title] => title 2
>                         )
>                 ) )

在您的示例中,您需要格式化数据数组,如:

$data = array(
   'Job' => array(
      array('id' => 1, 'country_code' => 'DE', 'group' => 3, 'name' => 'Hamburg'),
      array('id' => 6, 'country_code' => 'FFF', 'group' => 1, 'name' => 'Frankfurt')
   )
);

$this->JobPlace->saveAll($data['Job']);

当你正在学习某些东西时,没有什么可以尝试的,所以你可以试一试并发布你遇到的任何问题,而不是等待有人发布你可以复制粘贴的确切代码。