laravel-deep-replicate maintained by pharaonic
Author
Last update
2026/11/12 14:23
(dev-develop)
License
Downloads
0
Tags
Last update
2026/11/12 14:23
License
Require
- php >=8.3 <8.6
- illuminate/container ^13.0
- illuminate/contracts ^13.0
- illuminate/database ^13.0
- illuminate/support ^13.0
Last update
2026/11/12 14:23
License
Require
- php >=8.3 <8.6
- illuminate/container ^13.0
- illuminate/contracts ^13.0
- illuminate/database ^13.0
- illuminate/support ^13.0
Last update
2026/11/12 14:23
Last update
2026/11/12 14:23
Require
- php >=8.2 <8.6
- illuminate/container ^12.0
- illuminate/contracts ^12.0
- illuminate/database ^12.0
- illuminate/support ^12.0
Last update
2026/11/12 14:23
Require
- php >=8.2 <8.6
- illuminate/container ^12.0
- illuminate/contracts ^12.0
- illuminate/database ^12.0
- illuminate/support ^12.0
Last update
2026/11/12 14:23
Require
- php >=8.2 <8.5
- illuminate/container ^11.0
- illuminate/contracts ^11.0
- illuminate/database ^11.0
- illuminate/support ^11.0
Last update
2026/11/12 14:23
Require
- php >=8.2 <8.5
- illuminate/container ^11.0
- illuminate/contracts ^11.0
- illuminate/database ^11.0
- illuminate/support ^11.0
Last update
2026/11/12 14:23
Require
- php >=8.1 <8.4
- illuminate/container ^10.0
- illuminate/contracts ^10.0
- illuminate/database ^10.0
- illuminate/support ^10.0
Last update
2026/11/12 14:23
Require
- php >=8.1 <8.4
- illuminate/container ^10.0
- illuminate/contracts ^10.0
- illuminate/database ^10.0
- illuminate/support ^10.0
Last update
2026/11/12 14:23
Require
- php >=8.0 <8.3
- illuminate/container ^9.33
- illuminate/contracts ^9.33
- illuminate/database ^9.33
- illuminate/support ^9.33
Last update
2026/11/12 14:23
Require
- php >=8.0 <8.3
- illuminate/container ^9.33
- illuminate/contracts ^9.33
- illuminate/database ^9.33
- illuminate/support ^9.33
Last update
2026/11/12 14:23
Require
- php >=8.0 <8.2
- illuminate/container ^8.75
- illuminate/contracts ^8.75
- illuminate/database ^8.75
- illuminate/support ^8.75
Last update
2026/11/12 14:23
Require
- php >=8.0 <8.2
- illuminate/container ^8.75
- illuminate/contracts ^8.75
- illuminate/database ^8.75
- illuminate/support ^8.75
Last update
2026/11/12 14:23
Require
- php >=8.0 <8.1
- illuminate/container ^7.30
- illuminate/contracts ^7.30
- illuminate/database ^7.30
- illuminate/support ^7.30
Last update
2026/11/12 14:23
Require
- php >=8.0 <8.1
- illuminate/container ^7.30
- illuminate/contracts ^7.30
- illuminate/database ^7.30
- illuminate/support ^7.30
Last update
2026/11/12 14:23
Require
- php >=8.0 <8.1
- illuminate/container ^6.20
- illuminate/contracts ^6.20
- illuminate/database ^6.20
- illuminate/support ^6.20
Last update
2026/11/12 14:23
Require
- php >=8.0 <8.1
- illuminate/container ^6.20
- illuminate/contracts ^6.20
- illuminate/database ^6.20
- illuminate/support ^6.20
Last update
2026/11/12 13:51
Require
- php >=8.1 <8.4
- illuminate/container ^10.0
- illuminate/contracts ^10.0
- illuminate/database ^10.0
- illuminate/support ^10.0
Last update
2026/11/12 13:51
Require
- php >=8.0 <8.3
- illuminate/container ^9.33
- illuminate/contracts ^9.33
- illuminate/database ^9.33
- illuminate/support ^9.33
Last update
2026/11/12 13:51
Require
- php >=8.0 <8.2
- illuminate/container ^8.75
- illuminate/contracts ^8.75
- illuminate/database ^8.75
- illuminate/support ^8.75
Last update
2026/11/12 13:51
Require
- php >=8.0 <8.1
- illuminate/container ^7.30
- illuminate/contracts ^7.30
- illuminate/database ^7.30
- illuminate/support ^7.30
Last update
2026/11/12 13:51
Require
- php >=8.0 <8.1
- illuminate/container ^6.20
- illuminate/contracts ^6.20
- illuminate/database ^6.20
- illuminate/support ^6.20
Last update
2026/11/12 13:35
Require
- php >=8.1 <8.4
- illuminate/container ^10.0
- illuminate/contracts ^10.0
- illuminate/database ^10.0
- illuminate/support ^10.0
Last update
2026/11/12 13:35
Require
- php >=8.0 <8.3
- illuminate/container ^9.33
- illuminate/contracts ^9.33
- illuminate/database ^9.33
- illuminate/support ^9.33
Last update
2026/11/12 13:35
Require
- php >=8.0 <8.2
- illuminate/container ^8.75
- illuminate/contracts ^8.75
- illuminate/database ^8.75
- illuminate/support ^8.75
Last update
2026/11/12 13:29
Require
- php >=8.0 <8.1
- illuminate/container ^7.30
- illuminate/contracts ^7.30
- illuminate/database ^7.30
- illuminate/support ^7.30
Last update
2026/11/12 13:29
Require
- php >=8.0 <8.1
- illuminate/container ^6.20
- illuminate/contracts ^6.20
- illuminate/database ^6.20
- illuminate/support ^6.20
Last update
2026/11/12 12:50
Last update
2026/11/12 12:45
Require
- php >=8.0 <8.1
- illuminate/container ^6.20
- illuminate/contracts ^6.20
- illuminate/database ^6.20
- illuminate/support ^6.20
Installation
composer require pharaonic/laravel-deep-replicate
The service provider and the DeepReplicate facade are registered automatically. There is nothing to publish or migrate.
Usage
use Pharaonic\Laravel\DeepReplicate\Facades\DeepReplicate;
$result = DeepReplicate::for($order)
->copy('items', 'items.options') // new items and options for the new order
->reuse('items.product', 'customer') // link to the existing products and customer
->skip('payments')
->with(['status' => 'draft'])
->replicate(); // one transaction
$copy = $result->model(); // the new, persisted order
$result->map()->get($oldItem); // the copy of an original item
$result->stats()->copiedModels(); // root + items + options
Or add the trait to the model and start from the model itself; it returns the same builder:
use Pharaonic\Laravel\DeepReplicate\Concerns\DeepReplicates;
class Order extends Model
{
use DeepReplicates;
}
$result = $order->deepReplicate('items', 'items.options')
->reuse('items.product', 'customer')
->replicate();
Laravel's own replicate() is untouched. At least one relation must always be selected.
Documentation
Full documentation: Deep Replicate Documentation.
Support & Security
See SUPPORT.md and SECURITY.md. Contributions are welcome; see CONTRIBUTING.md.
License
MIT. See LICENSE.