josegonzalez/cakephp-deleted-at

此软件包已被弃用且不再维护。作者建议使用 muffin/trash 软件包。

处理数据库记录的软删除

0.0.1 2013-12-21 22:33 UTC

This package is not auto-updated.

Last update: 2022-02-01 12:29:24 UTC


README

Build Status Coverage Status Total Downloads Latest Stable Version Documentation Status Gratipay

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 文件中。(为什么?阅读此内容。)

[手动]

[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(),即可看到魔法般的效果!

我们还添加了自定义查找器 deletednon_deleted 供您使用。

待办事项

  • 更多用法

许可证

MIT 许可证 (MIT)

版权所有 (c) 2013 Jose Diaz-Gonzalez

特此授予任何获得本软件及其相关文档副本(以下简称“软件”)的人免费使用软件的权利,不受限制,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,并允许软件提供方使用软件,受以下条件约束

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

本软件按“原样”提供,不提供任何形式的保证,无论是明确的还是隐含的,包括但不限于对适销性、特定用途适用性和非侵权的保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论是否因合同行为、侵权或其他方式引起,无论是在软件或软件的使用或其他方面。