josegonzalez / cakephp-deleted-at
Requires
This package is not auto-updated.
Last update: 2022-02-01 12:29:24 UTC
README
DeletedAt
处理数据库记录的软删除
背景
为 CakeAdvent 帖子 构建行为 而编写
要求
- CakePHP 2.x
- PHP 5.3
安装
[使用 Composer]
将插件添加到项目的 composer.json
文件中 - 例如:
{
"require": {
"josegonzalez/cakephp-deleted-at": "dev-master"
}
}
由于此插件在其自身的 composer.json
中设置了类型 cakephp-plugin
,因此 Composer 会将其安装到您的 /Plugins
目录中,而不是常规的 vendors 文件中。建议您将 /Plugins/DeletedAt
添加到 .gitignore 文件中。(为什么?阅读此内容。)
[手动]
- 下载此: http://github.com/josegonzalez/cakephp-deleted-at/zipball/master
- 解压下载的内容。
- 将生成的文件夹复制到
app/Plugin
- 将您刚刚复制的文件夹重命名为
DeletedAt
[GIT 子模块]
在您的应用目录中输入
git submodule add -b master git://github.com/josegonzalez/cakephp-deleted-at.git Plugin/DeletedAt git submodule init git submodule update
[GIT 克隆]
在您的 Plugin
目录中输入
git clone -b master git://github.com/josegonzalez/cakephp-deleted-at.git DeletedAt
启用插件
在 2.0 中,您需要在您的 app/Config/bootstrap.php
文件中启用插件
CakePlugin::load('DeletedAt');
如果您已经使用了 CakePlugin::loadAll();
,则这不是必需的。
用法
将列 deleted
添加到您的模型表中。它应该是 datetime
类型,默认为 null。
并将行为添加到您的模型中
<?php class Post extends AppModel { public $actsAs = array('DeletedAt.DeletedAt'); } ?>
现在只需调用 softdelete()
或 undelete()
,即可看到魔法般的效果!
我们还添加了自定义查找器 deleted
和 non_deleted
供您使用。
待办事项
- 更多用法
许可证
MIT 许可证 (MIT)
版权所有 (c) 2013 Jose Diaz-Gonzalez
特此授予任何获得本软件及其相关文档副本(以下简称“软件”)的人免费使用软件的权利,不受限制,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,并允许软件提供方使用软件,受以下条件约束
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
本软件按“原样”提供,不提供任何形式的保证,无论是明确的还是隐含的,包括但不限于对适销性、特定用途适用性和非侵权的保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论是否因合同行为、侵权或其他方式引起,无论是在软件或软件的使用或其他方面。