Laravel - 存档数据,删除并插入另一个表
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Laravel - 存档数据,删除并插入另一个表相关的知识,希望对你有一定的参考价值。
当我单击按钮删除时,我想删除数据并将其插入到另一个表中,该表是如何进行存档的?
例如,我的另一个名为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');
答案
那你为什么不软删除它们并将它用作你的档案。执行诸如恢复,获取等操作会更容易。
软删除模型需求
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,所以你知道谁有什么。尽管如此仍然建议使用softdeletes。
以上是关于Laravel - 存档数据,删除并插入另一个表的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 将数据从一个表移动到另一个表并删除数据来自的列?