Laravel 加入具有中间关系的表
Laravel Join Tables with intermediate relations
我有 3 个表。1) Recent Views
2) posts
和 3) users
。我需要加入这三个具有中间关系的 table。
recent table
------------
id
post_id
user_id
date
posts table
-----------
id
user_id
post_title
description
date
users table
-----------
id
username
image
email
date
现在需要获取的是来自 recent table
的所有数据,其中 user_id = logged_users_id
-> 加入 posts table
与 recent.post_id = posts.id
-> 加入 'users table' 与 posts.user_id = users.id
。我怎样才能用 laravel eloquent 做到这一点?有人可以帮我解决这个问题吗?
我使用的代码是:
$contents = RecentView::where('user_id', $loggedUser)
->with('posts')
->with('user')
->paginate(12)
->toArray();
但它加入用户 table 和 recent.user_id = users.id
$contents = RecentView::where('recent_views.user_id', $loggedUser)
->leftJoin('feed_posts','recent_views.post_id','=','feed_posts.id')
->leftJoin('users','feed_posts.user_id','=','users.id')
->paginate(12)->toArray();
只需检查 table 名称,其余的
我有 3 个表。1) Recent Views
2) posts
和 3) users
。我需要加入这三个具有中间关系的 table。
recent table
------------
id
post_id
user_id
date
posts table
-----------
id
user_id
post_title
description
date
users table
-----------
id
username
image
email
date
现在需要获取的是来自 recent table
的所有数据,其中 user_id = logged_users_id
-> 加入 posts table
与 recent.post_id = posts.id
-> 加入 'users table' 与 posts.user_id = users.id
。我怎样才能用 laravel eloquent 做到这一点?有人可以帮我解决这个问题吗?
我使用的代码是:
$contents = RecentView::where('user_id', $loggedUser)
->with('posts')
->with('user')
->paginate(12)
->toArray();
但它加入用户 table 和 recent.user_id = users.id
$contents = RecentView::where('recent_views.user_id', $loggedUser)
->leftJoin('feed_posts','recent_views.post_id','=','feed_posts.id')
->leftJoin('users','feed_posts.user_id','=','users.id')
->paginate(12)->toArray();
只需检查 table 名称,其余的