slicesofcake / delete
CakePHP plugin for soft deleting
Installs: 197
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 1
Type:cakephp-plugin
Requires
- cakephp/cakephp: ^4.0
README
This Delete plugin enable soft deletable. Entities aren't removed from your database. Instead, a deleted timestamp is set on the record.
Requirements
It is developed for CakePHP 4.x.
Installation
You can install plugin into your CakePHP application using composer.
The recommended way to install composer packages is:
composer require slicesofcake/delete
Load the Behavior
Load the Behavior in your src/Model/Table/YourTable.php (or if you have AppTable.php). The default field named in database table should be deleted
(like created
or modified
) and compatible type with Time::now()
(eg. DATE
or DATETIME
).
public function initialize(array $config)
{
parent::initialize($config);
$this->addBehavior('SlicesCake/Delete.Deleted');
}
You can configuration to customize the Delete plugin:
$this->addBehavior('SlicesCake/Delete.Deleted', [
'field' => 'deleted_at', // Change column field name
]);
Add column by Migrations plugin
- Load Migrations plugin (https://github.com/cakephp/migrations).
- Copy file from /vendor/slicesofcake/delete/config/20200101122906_AddDeletedToProducts.example.php to your app main config directory.
- Rename to 20200101122906_AddDeletedTo[YourTable].php.
- Edit file and rename class with changes above.
- Update
change
method to set table name. - Run migrations by command:
cake migrations migrate