[扩展推荐] Eloquent Cloner —— 快速制作一份 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 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。