Download the PHP package riesenia/cakephp-duplicatable without Composer
On this page you can find all versions of the php package riesenia/cakephp-duplicatable. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package cakephp-duplicatable
Duplicatable behavior for CakePHP
This plugin contains a behavior that handles duplicating entities including related data.
Installation
Using composer
Load plugin using
Usage
This behavior provides multiple methods for your Table
objects.
Method duplicate
This behavior provides a duplicate
method for the table. It takes the primary key of the record to duplicate as its only argument.
Using this method will clone the record defined by the primary key provided as well as all related records as defined in the configuration.
Method duplicateEntity
This behavior provides a duplicateEntity
method for the table. It mainly acts as the duplicate
method except it does not save the duplicated record but returns the Entity to be saved instead. This is useful if you need to manipulate the Entity before saving it.
Configuration options:
- finder - finder to use to get entities. Set it to "translations" to fetch and duplicate translations, too. Defaults to "all". It is possible to set an array for more finders.
- contain - set related entities that will be duplicated
- remove - fields that will be removed from the entity
- set - fields that will be set to provide value or callable to modify the value. If you provide a callable, it will take the entity being cloned as the only argument
- prepend - fields that will have value prepended by the provided text
- append - fields that will have value appended by provided text
- saveOptions - options for save on primary table
- preserveJoinData - if
_joinData
property inBelongsToMany
relations should be preserved - defaults tofalse
due to tricky nature of this association
Examples
Sometimes you need to access the original entity, e.g. for setting an ancestor/parent id reference.
In this case you can leverage the $original
entity being passed in as 2nd argument: