首页 > 解决方案 > 更新后,另一个表中的数据将被删除

问题描述

我有两个名为CustomersChange_info_request 的不同数据库表

客户将要求更改他们的信息,并将其存储在Change_info_request中,而我将是管理员将批准更改信息的人。更新后Change_info_request里面的信息会转移到Customers 表中, Change_info_request里面的数据会被删除。

这就是我的问题,我想像这样在同一个控制器中做

更新请求

 public function UpdateRequest(ClientUpdate $request){
    $res = Customer::where('id', $request->id)
                    ->update([
                        'first_name'  => $request->new_first_name,
                        'last_name'   => $request->new_last_name,
                        'birthdate'   => $request->new_birthdate,
                        'gender'      => $request->new_gender,
                        'pending_update_info' => 2,

                    ]);
        

    if($res) {
        return response()->wrap($res);
    } else {
        return response()->wrap(["message" => "something went wrong!"]);
    }
}

我将如何从这个控制器内的Change_info_request中删除信息?抱歉语法错误,我只是一个学习 laravel 的学生。

标签: laravelcontroller

解决方案


您在 Change_info_request 表中有该行的 id 吗?

在我这样做之前,我已经这样做了:

我将新信息存储在名为 edit-user 的表中(就像您的 Change_info_request 一样),当我在管理仪表板中显示它们时,我有他们的 ID!

当管理员点击批准按钮时,它会将该行的 id 发送到某个函数!在函数中,我在编辑用户表中找到具有我拥有的 ID 的行,并在我的用户表(您的客户表)中替换我的新数据,当我完成替换数据时,我将从编辑用户中删除具有该 ID 的数据!

Change_info_request::find('customer_id', $id)->delete();

使用编辑用户(您的 Change_info_request 表)表中该行的 ID,您可以做任何事情,当然您在 Change_info_request 表中应该有 user_id 字段

祝你好运!


推荐阅读