2

如何在 cake 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),
4

2 回答 2

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']);
于 2012-08-01T14:41:14.610 回答
0

试试这个方法:

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

数据应采用以下格式:

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

    )

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

    )

)

于 2012-08-01T13:03:03.163 回答