laravel-存档数据,删除并插入到另一个表中

crcmnpdw  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(353)

单击“删除”按钮时,我想删除数据并将其插入到另一个表(即存档)中如何操作?
例如,我的另一个新表模型名为archive,新表名为archive
以下是我的公共职能:

public function destroy($id)
{
    $client = Client::find($id);
    $client->delete();

}

我的商店公共功能:

$client = new Client;
$client->client_code = $request->input('client_code');
$client->client_name = $request->input('client_name');
2exbekwf

2exbekwf1#

所以你为什么不直接删除它们并把它们作为你的档案呢。它将更容易做的操作,如恢复,获取等。
删除模型需要

use SoftDeletes;

在你的迁移表中

$table->softDeletes();

当你跑的时候 $client->delete(); 除非使用 withTrashed() 在查询中。如果你想要它回来你就跑 $client->restore() ;
https://laravel.com/docs/5.7/eloquent#soft-删除
或者你要求的解决方案

public function destroy($id)
{
    $client = Client::find($id);

    Archive::create([
      'client_code' => $client->client_code,
      'client_name' => $client->client_name
    ])

    $client->delete();

}

如果存档数据已被删除,则不确定如何将其连接到客户端,可能需要有一个用户标识,以便您知道谁拥有什么。但仍然建议使用softdeletes。

相关问题