如何将查询结果复制到另一个表CakePhp

时间:2017-11-08 14:54:41

标签: php cakephp cakephp-3.0

我想将我从一个表创建的查询复制到另一个表,我已经看到了旧答案,但我想知道是否有一种新的更好的方法来使用cakephp3。

How to copy a mysql table to another in cakephp?

1 个答案:

答案 0 :(得分:0)

如果两个表都具有相同的模式 - 它非常简单(控制器中的示例):

$this->loadModel('Bikes');
$this->loadModel('Bicycles');

$toCopy = $this->Bikes->find('all')->hydrate(FALSE)->toArray();

$columns = $this->Bikes->schema()->columns();
$query = $this->Bicycles->query();

array_map(function($item) use($query, $columns) {
    $query
        ->insert($columns)
        ->values($item);
}, $toCopy);

$query->execute();