我希望在Laravel中编写一个查询,以检索特定用户查看的所有帖子。 user_id
和 post_id
存储在名为WatchHistory
的表中。
SELECT *
FROM Post
WHERE post_id = (
SELECT post_id
FROM WatchHistory
WHERE user_id = $user_id
);
我尝试了以下内容:
$posts = Post::whereIn('post_id', function($query){
$query->select('post_id')
->from(with(new WatchHistory)->getTable())
->where('user_id',$user_id);
})->get();
但是它会提示错误,指出变量user_id未定义。
WHERE user_id = user_id
是什么意思? - Sagar Gautam