有这3个表:
个用户
-
user_id
-
first_name
-
last_name
-
等
帖子
-
post_id
-
Headers
-
身体
-
等
posts_users
-
post_id
-
user_id
post - user
关系表示用户正在关注帖子 .
列出帖子的最简单方法是:
$posts= Posts::all();
foreach ($posts as $post)
{
var_dump($post->title);
}
但是当列出帖子时,我也想查询当前用户(比如user_id = 5)是否跟随每个帖子 .
所以对于每个帖子我都会 post_id
, title
,..., is_following [0 or 1]
.
我可以使用简单的SQL来做到这一点,但这可以用Eloquent方式完成吗?
2 回答
也许尝试急切加载用户,然后为每个帖子,循环访问该帖子后面的用户寻找用户ID .
假设您使用
hasMany('Post')
在User
模型上定义了Post
/User
关系,您可以使用contains()检查当前Post
是否在用户的后续帖子中: