php如何用封装删除语句,如何写一个属于自己的数据库封装(9) - DELETE篇

本文档详细介绍了如何在自定义数据库封装库中实现JOIN操作后的数据删除功能,包括删除函数和编译DELETE语句的代码实现。在确保数据安全性的前提下,实现了CRUD操作。接下来,作者计划增强库的功能,如分页和关联关系等,以提升用户体验。在正式开始这些衍生功能之前,作者将先着手实现自动加载机制。
摘要由CSDN通过智能技术生成

开始之前

由于个人对 JOIN 的理解非常浅白, 也不曾试过 JOIN 之后删除数据, 为了不祸害别人, delete 函数不支持 JOIN 函数

Builder.php

// 删除数据库数据

public function delete() {

// 如果写保护已经开启,跳出错误

if($this->writeLock) throw new Exception("data is not allow to delete");

// 编译delete语法

$sql = $this->grammar->compileDelete($this);

// 获取条件语句的值

$bindings = $this->getBindings();

// 返回删除结果,成功true失败false

return $this->connector->delete($sql, $bindings);

}

Grammar.php

// 编译delete语句

public function compileDelete(Builder $query) {

// 请查看update函数同样逻辑处的说明

$where = is_null($query->wheres) ? '' : $this->compileWheres($query);

// 返回delete语句

return trim("delete from $query->from $where");

}

完整代码

源代码放在coding.net里, 自己领

写在最后

数据库中的四大操作CRUD已经完整实现, 随着代码渐渐丰富, 我们的数据库封装已经基本可用了完结撒花, 可是对我来说, 这也仅仅是堪用而已, 为了增强使用体验, 更多的衍生函数必须实现, 如 分页, 关联关系, 等等等......

不过在进入衍生篇之前, 我们先实现自动载入吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值