Think\Db\Query::delete PHP Method

delete() public method

删除记录
public delete ( mixed $data = null ) : integer
$data mixed 表达式 true 表示强制删除
return integer
    public function delete($data = null)
    {
        // 分析查询表达式
        $options = $this->parseExpress();
        if (isset($options['cache']) && is_string($options['cache'])) {
            $key = $options['cache'];
        }
        if (!is_null($data) && true !== $data) {
            if (!isset($key) && !is_array($data)) {
                // 缓存标识
                $key = 'think:' . $options['table'] . '|' . $data;
            }
            // AR模式分析主键条件
            $this->parsePkWhere($data, $options);
        }
        if (true !== $data && empty($options['where'])) {
            // 如果条件为空 不进行删除操作 除非设置 1=1
            throw new Exception('delete without condition');
        }
        // 生成删除SQL语句
        $sql = $this->builder()->delete($options);
        // 获取参数绑定
        $bind = $this->getBind();
        if ($options['fetch_sql']) {
            // 获取实际执行的SQL语句
            return $this->connection->getRealSql($sql, $bind);
        }
        // 检测缓存
        if (isset($key) && Cache::get($key)) {
            // 删除缓存
            Cache::rm($key);
        }
        // 执行操作
        return $this->execute($sql, $bind);
    }