PHP code example of aaronheath / laravel-model-copy

1. Go to this page and download the library: Download aaronheath/laravel-model-copy library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

aaronheath / laravel-model-copy example snippets




use Heath\LaravelModelCopy\Action\CopyModel;
use App\Models\ExampleA;
use App\Models\ExampleB;

CopyModel::make()
    ->copy(Example::find(1))
    ->to(ExampleB::class)
    ->run();



use Heath\LaravelModelCopy\Action\CopyModel;
use App\Models\ExampleA;
use App\Models\ExampleB;

CopyModel::make()
    ->copy(Example::find(1))
    ->to(ExampleB::class)
    ->deleteOriginal()
    ->run();



use Heath\LaravelModelCopy\Action\CopyModel;
use App\Models\ExampleA;
use App\Models\ExampleB;

CopyModel::make()
    ->copy(Example::find(1))
    ->to(ExampleB::class)
    ->processBefore(now()->addHour())
    ->run();



use Heath\LaravelModelCopy\Action\BatchCopyModels;
use App\Models\ExampleA;
use App\Models\ExampleB;

BatchCopyModels::make()
    ->to(ExampleB::class)
    ->query(
        ExampleA::where('handled_at', '<', now()->subYears(3))
    )
    ->run();



use Heath\LaravelModelCopy\Action\BatchCopyModels;
use App\Models\ExampleA;
use App\Models\ExampleB;

BatchCopyModels::make()
    ->to(ExampleB::class)
    ->query(
        ExampleA::where('handled_at', '<', now()->subYears(3))
    )
    ->deleteOriginal()
    ->run();



use Heath\LaravelModelCopy\Action\BatchCopyModels;
use App\Models\ExampleA;
use App\Models\ExampleB;

BatchCopyModels::make()
    ->to(ExampleB::class)
    ->query(
        ExampleA::where('handled_at', '<', now()->subYears(3))
    )
    ->limit(1000)
    ->run();



use Heath\LaravelModelCopy\Action\BatchCopyModels;
use App\Models\ExampleA;
use App\Models\ExampleB;

BatchCopyModels::make()
    ->to(ExampleB::class)
    ->query(
        ExampleA::where('handled_at', '<', now()->subYears(3))
    )
    ->chunk(500)
    ->run();



use Heath\LaravelModelCopy\Action\BatchCopyModels;
use App\Models\ExampleA;
use App\Models\ExampleB;

BatchCopyModels::make()
    ->to(ExampleB::class)
    ->query(
        ExampleA::where('handled_at', '<', now()->subYears(3))
    )
    ->chunk(500)
    ->chunkColumn('created_at')
    ->run();



use Heath\LaravelModelCopy\Action\BatchCopyModels;
use App\Models\ExampleA;
use App\Models\ExampleB;

BatchCopyModels::make()
    ->to(ExampleB::class)
    ->query(
        ExampleA::where('handled_at', '<', now()->subYears(3))
    )
    ->copyModelsAsJobs()
    ->run();



use Heath\LaravelModelCopy\Action\BatchCopyModels;
use App\Models\ExampleA;
use App\Models\ExampleB;

BatchCopyModels::make()
    ->to(ExampleB::class)
    ->query(
        ExampleA::where('handled_at', '<', now()->subYears(3))
    )
    ->copyModelsAsJobs()
    ->onQueue('queue-name')
    ->run();



use Heath\LaravelModelCopy\Action\BatchCopyModels;
use App\Models\ExampleA;
use App\Models\ExampleB;

BatchCopyModels::make()
    ->to(ExampleB::class)
    ->query(
        ExampleA::where('handled_at', '<', now()->subYears(3))
    )
    ->copyModelsAsJobs()
    ->processBefore(now()->addDay()->setTime(5, 0, 0)) // 05:00 tomorrow
    ->run();



use Heath\LaravelModelCopy\Action\BatchCopyModels;
use App\Models\ExampleA;
use App\Models\ExampleB;

BatchCopyModels::make()
    ->to(ExampleB::class)
    ->query(
        ExampleA::where('handled_at', '<', now()->subYears(3))
    )
    ->copyModelsAsJobs()
    ->rpm(20)
    ->run();



use Heath\LaravelModelCopy\Action\BatchCopyModels;
use App\Models\ExampleA;
use App\Models\ExampleB;

BatchCopyModels::make()
    ->to(ExampleB::class)
    ->query(
        ExampleA::where('handled_at', '<', now()->subYears(3))
    )
    ->copyModelsAsJobs()
    ->processBefore(now()->addDay()->setTime(6, 0, 0)) // 06:00 tomorrow
    ->rpm(100)
    ->run();



use Heath\LaravelModelCopy\Action\DeleteModel;
use App\Models\ExampleA;

DeleteModel::make()
    ->delete(ExampleA::find(1))
    ->run();



use Heath\LaravelModelCopy\Action\BatchDeleteModels;
use App\Models\ExampleA;

BatchDeleteModels::make()
    ->query(
        ExampleA::where('handled_at', '<', now()->subYears(3))
    )
    ->run();



use Heath\LaravelModelCopy\Action\BatchDeleteModels;
use App\Models\ExampleA;

BatchDeleteModels::make()
    ->query(
        ExampleA::where('handled_at', '<', now()->subYears(3))
    )
    ->limit(1000)
    ->run();



use Heath\LaravelModelCopy\Action\BatchDeleteModels;
use App\Models\ExampleA;

BatchDeleteModels::make()
    ->query(
        ExampleA::where('handled_at', '<', now()->subYears(3))
    )
    ->chunk(500)
    ->run();



use Heath\LaravelModelCopy\Action\BatchDeleteModels;
use App\Models\ExampleA;

BatchDeleteModels::make()
    ->query(
        ExampleA::where('handled_at', '<', now()->subYears(3))
    )
    ->chunk(500)
    ->chunkColumn('created_at')
    ->run();



use Heath\LaravelModelCopy\Action\BatchDeleteModels;
use App\Models\ExampleA;

BatchDeleteModels::make()
    ->query(
        ExampleA::where('handled_at', '<', now()->subYears(3))
    )
    ->deleteModelsAsJobs()
    ->run();



use Heath\LaravelModelCopy\Action\BatchDeleteModels;
use App\Models\ExampleA;

BatchDeleteModels::make()
    ->query(
        ExampleA::where('handled_at', '<', now()->subYears(3))
    )
    ->deleteModelsAsJobs()
    ->onQueue('queue-name')
    ->run();



use Heath\LaravelModelCopy\Action\BatchDeleteModels;
use App\Models\ExampleA;

BatchCopyModels::make()
    ->query(
        ExampleA::where('handled_at', '<', now()->subYears(3))
    )
    ->deleteModelsAsJobs()
    ->processBefore(now()->addDay()->setTime(5, 0, 0)) // 05:00 tomorrow
    ->run();



use Heath\LaravelModelCopy\Action\BatchDeleteModels;
use App\Models\ExampleA;

BatchDeleteModels::make()
    ->query(
        ExampleA::where('handled_at', '<', now()->subYears(3))
    )
    ->deleteModelsAsJobs()
    ->rpm(20)
    ->run();