如何用蛋糕php中的单个查询保存多行数据?

时间:2012-08-01 12:25:53

标签: cakephp

如何在蛋糕php中进行此查询?我用了$this->saveAll(myData);。但是这种方法使用了5个查询来插入这些数据。 我想用一个查询插入这个数据。

INSERT INTO `table` (`id`, `value1`, `value2`) VALUES
(1, 1, 1,),
(2, 1, 2),
(3, 2, 2),
(4, 2, 3),
(5, 3, 3),

2 个答案:

答案 0 :(得分:1)

您始终可以使用DboSource::insertMulti()

$data = array(
  'Model' => array(
    'field' => 'value',
    'other' => 'another value'
  )
);
$ds = $this->Model->getDatasource();
$ds->insertMuli($this->Model->table, array_keys($data['Model']), $data['Model']);

答案 1 :(得分:0)

试试这个方法:

$this->Model->saveMany($data);

数据应采用以下格式:

Array
(
[1] => Array
    (
        [Model] => Array
            (
                [field] => value
                [field] => value
            )

    )

[2] => Array
    (
        [Model] => Array
            (
                [field_1] => value
                [field_2] => value
            )

    )