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

时间:2018-11-30 08:15:27

标签: php mysql laravel laravel-5

当我单击删除按钮时,我想删除数据并将其插入到另一个表中,该表是归档文件吗?

例如,我的另一个新表模型名为 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');

1 个答案:

答案 0 :(得分:0)

那么,为什么不删除它们并将其用作存档呢?进行还原,获取等操作会更容易。

要软删除模型需求

use SoftDeletes;

在您的迁移表中

$table->softDeletes();

然后,当您运行$client->delete();时,该模型将仅标记为已删除,并且不会显示在查询中 除非您在查询中使用withTrashed()。如果需要,可以运行$client->restore();

https://laravel.com/docs/5.7/eloquent#soft-deleting


或者您要求的解决方案

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

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

    $client->delete();

}

如果已将归档数据删除,则不确定如何将归档数据连接到客户端,也许会有一个user_id,以便您知道谁拥有什么。尽管如此,仍然建议为此使用软删除。