【问题标题】:CakePHP newbie question: How do I duplicate a model and its related data?CakePHP 新手问题:如何复制模型及其相关数据?
【发布时间】:2011-01-19 05:50:36
【问题描述】:

如何复制现有模型记录?换句话说,如何检索具有相关数据的现有模型,然后保存该模型和数据的副本(模型和相关数据都被复制)?这使用简单的 SQL 很简单,但我想使用 CakePHP 最佳实践来做到这一点。

【问题讨论】:

    标签: cakephp model save


    【解决方案1】:
    $record = $this->Model->find('first', array('condition' => array('Model.id' => $id)));
    unset($record['Model']['id'], $record['RelatedModel']['id'], /* further ids */);
    $this->Model->create();
    $this->Model->saveAll($record);
    

    基本上,您需要确保数据中不包含id 字段,然后照常保存。这将提示 Cake 创建一条新记录。

    根据您的具体数据,直接使用$Model->query() 编写INSERT … SELECT … 查询可能更经济。

    【讨论】:

    • 非常感谢 - 我会试一试。使用直接查询几乎肯定会更经济,但我想尝试“CakePHP 方式”。 ——史蒂夫
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-01
    • 1970-01-01
    相关资源
    最近更新 更多