当我单击按钮删除时,我想删除数据并将其插入到另一个表中,该表是如何进行存档的?
例如,我的另一个名为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。