递归删除(自上而下删)---laravel 静态方法

本文介绍如何在 Laravel 框架中使用静态方法进行递归删除操作。通过定义一个静态方法 `del($id)`,首先检查文档是否存在,然后查找具有指定父 ID 的所有子文档。如果存在子文档,递归调用删除方法,否则直接删除文档。最后,提供一个调用此静态方法的示例,返回成功删除的 JSON 响应。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//定义一个静态方法
public static function del($id)
{
    $document = Document::find($id);
    if (!$document) {
        return false;
    }
    $documentOne = Document::where('parent_id', $id)->get();
    if (count($documentOne) != 0) {
        $document->delete();
        foreach ($documentOne as $item){
            self::del($item->id);
        }
        return true;
    } else {
        $document->delete();
        return true;
    }

//调用静态方法
public function deleteDocument(Request $request, $id)
{
    self::del($id);
    return response()->json(['code' => 200, 'msg' => '删除成功']);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值