Cakephp 如何在php中通过单个查询保存多行数据?
如何在cake php中进行此查询?我使用了Cakephp 如何在php中通过单个查询保存多行数据?,cakephp,Cakephp,如何在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), 尝试以下方法: $this->Model->saveMany($data); 数据应采用以下格式: Array
$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),
尝试以下方法:
$this->Model->saveMany($data);
数据应采用以下格式:
Array
(
[1] => Array
(
[Model] => Array
(
[field] => value
[field] => value
)
)
[2] => Array
(
[Model] => Array
(
[field_1] => value
[field_2] => value
)
)
)您可以随时使用
我想用一个mysql查询保存这个,你可以构建自己的查询吗?我不知道saveMany和saveAll使用了多个查询嘿,Harris,我想这个函数也会触发多个插入查询而不是一个,不是吗?@Parixit不是根据代码本身:)如果你看insertMulit,它只会执行一个插入
$data = array(
'Model' => array(
'field' => 'value',
'other' => 'another value'
)
);
$ds = $this->Model->getDatasource();
$ds->insertMuli($this->Model->table, array_keys($data['Model']), $data['Model']);