在我的 Laravel 项目中,我遇到了以下问题。(为了便于阅读,我稍微减少了输出)
- 我从名为 Newsposts 的表中获取所有帖子。我将它存储为一个名为 $all_posts 的集合,如下所示:
Collection {#216 ▼
#items: array:7 [▼
0 => NewsPost {#227 ▶}
1 => NewsPost {#228 ▶}
2 => NewsPost {#229 ▼
#attributes: array:6 [▼
"id" => 6
"title" => "Sample title"
"body" => "<p>Some html</p>"
"user_id" => 15
]
#original: array:6 [▶]
#casts: []
.
.
#guarded: array:1 [▶]
}
3 => NewsPost {#230 ▶}
4 => NewsPost {#231 ▶}
]
}
- 然后我从另一个名为 user_read 的表中获取所有条目,其中包含当前用户已阅读的所有帖子。此表包含对具有“user_id”列的用户的引用,以及对具有“post_id”列的新闻帖子的引用。我还将它存储在一个集合中,如下所示:
Collection {#219 ▼
#items: array:2 [▼
0 => UserRead {#210 ▼
#attributes: array:4 [▼
"user_id" => 15
"post_id" => 6
]
#original: array:4 [▶]
#casts: []
.
.
#guarded: array:1 [▶]
}
1 => UserRead {#217 ▶}
]
}
- 所以我现在要做的是获取 $all_posts-collection 并从 $read_posts-collection 中删除所有帖子,并将其存储在新集合中。让我们称之为 $unread_posts。我怎样才能做到这一点?