From de4d8253da264afae8aba6e6e4165ba95678e72b Mon Sep 17 00:00:00 2001 From: thinkphp Date: Sat, 6 Aug 2016 14:55:39 +0800 Subject: [PATCH] =?UTF-8?q?softDelete=20trait=E5=A2=9E=E5=8A=A0destroy?= =?UTF-8?q?=E6=96=B9=E6=B3=95=20=E5=B9=B6=E5=A2=9E=E5=8A=A0=E7=AC=AC?= =?UTF-8?q?=E4=BA=8C=E4=B8=AA=E5=8F=82=E6=95=B0=20=E7=94=A8=E4=BA=8E?= =?UTF-8?q?=E7=9C=9F=E5=AE=9E=E5=88=A0=E9=99=A4=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- library/traits/model/SoftDelete.php | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/library/traits/model/SoftDelete.php b/library/traits/model/SoftDelete.php index f854a307..f580243a 100644 --- a/library/traits/model/SoftDelete.php +++ b/library/traits/model/SoftDelete.php @@ -52,6 +52,35 @@ trait SoftDelete return $result; } + /** + * 删除记录 + * @access public + * @param mixed $data 主键列表 支持闭包查询条件 + * @param bool $force 是否强制删除 + * @return integer 成功删除的记录数 + */ + public static function destroy($data, $force = false) + { + $model = new static(); + $query = $model->db(); + if (is_array($data) && key($data) !== 0) { + $query->where($data); + $data = null; + } elseif ($data instanceof \Closure) { + call_user_func_array($data, [ & $query]); + $data = null; + } + $resultSet = $query->select($data); + $count = 0; + if ($resultSet) { + foreach ($resultSet as $data) { + $result = $data->delete($force); + $count += $result; + } + } + return $count; + } + /** * 恢复被软删除的记录 * @access public