如何解决第三方API响应-Laravel updateOrCreate,删除以前存在的其余部分?
我正在从外部API获取数据。使用updateOrCreate之后,删除不再出现在API中的现有记录的最干净的方法是什么?现在,我有一个有效的方法,该方法可以先获取集合,然后忘记API循环上的集合记录。然后,它将删除剩下的所有内容。
这感觉很骇人,我敢肯定有更好的解决方案。预先感谢!
使用:Laravel 7.x
$apiPosts = api('....')->json(); // array
$existingPosts = Post::get();
foreach ($apiPosts as $post) {
Post::updateOrCreate(['id' => $post['id']],[
'title' => $post['title'],'body' => $post['body'],'is_active' => $post['post_visible'],]);
// Works but ugly
if ($existingPosts->where('id',$post['id'])->first()) {
$existingPosts->where('id',$post['id'])->first()->forget();
}
}
// Works but ugly
foreach($existingPosts as $post) {
$post->delete();
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。