我有3个表:import copy
ia = iter(a)
for ai in ia:
print(ai)
for ai in copy.copy(ia):
print(ai)
# [1]
# [2]
# [3]
# [2]
# [3]
# [3]
,posts
和votes
。我已经用Eloquent编写了一个简洁的代码来检索用户尚未投票的帖子。
users
但我也希望从表用户中检索用户名。我想用json传递数据。
如果我尝试使用查询构建器,则很难消除用户已经投票的帖子。
答案 0 :(得分:1)
您可以手动连接到用户表
$posts = Post::join('users', 'users.id', '=', 'posts.user_id')
->whereDoesntHave("votes")
->where('user_id', '=', $user_id)
->whereBetween('posts.created_at', array(Carbon::now()->subHours(48), Carbon::now()))
->take(20)
->get();
或者您可以在Post
模型类中定义relationship。
public function user()
{
return $this->belongsTo('App\User');
}
然后使用with('user')
从用户表中检索数据。
$posts = Post::with('user')
->whereDoesntHave("votes")
->where('user_id', '=', $user_id)
->whereBetween('posts.created_at', array(Carbon::now()->subHours(48), Carbon::now()))
->take(20)
->get();