[扩展推荐] Eloquent Cloner —— 快速制作一份 Laravel 模型的副本

Laravel

Cloner 是 Laravel Eloquent 模型的特征,它可以快速复制一条数据到当前表中,或者到其他表中。

安装

composer require bkwld/cloner

这是使用 Cloneable 特征的模型的基本示例:

class Article extends Eloquent
{
    use \Bkwld\Cloner\Cloneable;
}

以下是如何复制一天数据到当前表,以及到另一张表:

$clone = Article::first()->duplicate();

//复制到其他表
$clone = Article::first()->duplicateTo('production');

更高级的例子包括定义的关系与模型一起克隆:

class Article extends Eloquent
{
    use \Bkwld\Cloner\Cloneable;

    protected $cloneable_relations = ['photos', 'authors'];

    public function photos() {
        return $this->hasMany('Photo');
    }

    public function authors() {
        return $this->belongsToMany('Author');
    }
}

有关如何将定义的克隆附加到模型文件的详细信息,请参阅文档。你可以了解更多关于这个应用程序的信息,并可以在 Github 上查看 BKWLD/cloner 源码。

本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://laravel-news.com/eloquent-cloner...

译文地址:https://learnku.com/laravel/t/27609

本文为协同翻译文章,如您发现瑕疵请点击「改进」按钮提交优化建议
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!