1. Go to this page and download the library: Download coliving/laravel-duplicate 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/ */
coliving / laravel-duplicate example snippets
namespace App;
use Illuminate\Database\Eloquent\Model;
use Neurony\Duplicate\Options\DuplicateOptions;
use Neurony\Duplicate\Traits\HasDuplicates;
class YourModel extends Model
{
use HasDuplicates;
/**
* Get the options for duplicating the model.
*
* @return DuplicateOptions
*/
public function getDuplicateOptions(): DuplicateOptions
{
return DuplicateOptions::instance();
}
}
$model = YourModel::find($id);
$duplicatedModel = $model->saveAsDuplicate(); // returns the newly duplicated model instance
/**
* Get the options for duplicating the model.
*
* @return DuplicateOptions
*/
public function getDuplicateOptions() : DuplicateOptions
{
return DuplicateOptions::instance()
->excludeColumns('column_one', 'column_two');
}
/**
* Get the options for duplicating the model.
*
* @return DuplicateOptions
*/
public function getDuplicateOptions() : DuplicateOptions
{
return DuplicateOptions::instance()
->uniqueColumns('column_one', 'column_two');
}
/**
* Get the options for duplicating the model.
*
* @return DuplicateOptions
*/
public function getDuplicateOptions() : DuplicateOptions
{
return DuplicateOptions::instance()
->excludeRelations('relationOne', 'relationTwo');
}
/**
* Get the options for duplicating the model.
*
* @return DuplicateOptions
*/
public function getDuplicateOptions() : DuplicateOptions
{
return DuplicateOptions::instance()
->excludeRelationColumns([
'relationOne' => ['column_one', 'column_two'],
'relationTwo' => ['column_one'],
]);
}
/**
* Get the options for duplicating the model.
*
* @return DuplicateOptions
*/
public function getDuplicateOptions() : DuplicateOptions
{
return DuplicateOptions::instance()
->uniqueRelationColumns([
'relationOne' => ['column_one', 'column_two'],
'relationTwo' => ['column_one'],
]);
}
/**
* Get the options for duplicating the model.
*
* @return DuplicateOptions
*/
public function getDuplicateOptions() : DuplicateOptions
{
return DuplicateOptions::instance()
->disableDeepDuplication();
}
namespace App;
use Illuminate\Database\Eloquent\Model;
use Neurony\Duplicate\Options\DuplicateOptions;
use Neurony\Duplicate\Traits\HasDuplicates;
class YourModel extends Model
{
use HasDuplicates;
/**
* Boot the model.
*
* @return DuplicateOptions
*/
public static function boot()
{
parent::boot();
static::duplicating(function ($model) {
// your logic here
});
static::duplicated(function ($model) {
// your logic here
});
}
/**
* Get the options for duplicating the model.
*
* @return DuplicateOptions
*/
public function getDuplicateOptions(): DuplicateOptions
{
return DuplicateOptions::instance();
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.