thinkphp/library/traits/model/SoftDelete.php

(开头部分) 1KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

<?php

namespace traits\model;

use think\db\Query;
use think\Model;

/**
 * @mixin \Think\Model
 */
trait SoftDelete
{
    /**
     * 判断当前实例是否被软删除
     * @access public
     * @return boolean
     */
    public function trashed()
    {
        $field = $this->getDeleteTimeField();

        return !empty($this->data[$field]);
    }

    /**
     * 查询包含软删除的数据
     * @access public
     * @return Query
     */
    public static function withTrashed()
    {
        return (new static)->getQuery();
    }

    /**
     * 只查询软删除数据
     * @access public
     * @return Query
     */
    public static function onlyTrashed()
    {
        $model = new static();
        $field = $model->getDeleteTimeField(true);

        return $model->getQuery()->useSoftDelete($field, ['not null', '']);
    }

    /**
     * 删除当前的记录
     * @access public
     * @param bool $force 是否强制删除
     * @return integer
     */
    public function delete($force = false)
    {
        if (false === $this->trigger('before_delete', $this)) return false;

        $name = $this->getDeleteTimeField();
        if (!$force) {
            // 软删除

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。