[扩展推荐] 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

本文为协同翻译文章,如您发现瑕疵请点击「改进」按钮提交优化建议
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

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