首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >以下用户的用户信息

以下用户的用户信息
EN

Stack Overflow用户
提问于 2019-07-18 19:22:51
回答 1查看 81关注 0票数 0

我正在使用lumen和Vuejs,我的以下系统有问题。我可以关注和取消关注其他用户,还可以显示用户的帖子。

代码语言:javascript
运行
复制
      $test = Posts::join('followers', 'posts.user_id', '=', 'followers.follower_id')
                  ->join('users', 'followers.user_id', '=', 'users.id')
                  ->where('users.id', $user->id)
                  ->get();

对于我关注的所有用户,我的结果是:

代码语言:javascript
运行
复制
{
    "id": 221,
    "user_id": 221,
    "content": "Mein erster Post hier :) Hi!!! ",
    "created_at": "2019-07-01 09:04:44",
    "updated_at": "2019-07-17 18:52:33",
    "follower_id": 217,
    "follows": 1,
    "username": "cicek",
    "email": "cicek@cicek.de",
    "avatar": "photo.png"
}

我的问题是,用户名是登录的用户的名称。我想使用follower_id获取被关注用户的数据,这样我就可以将其显示在登录用户的提要中。因此,我只能显示帖子的内容,但不能在提要中显示帖子的所有者。

我也认为没有必要查看登录用户的用户名和其他数据,但我不能以另一种方式做到这一点。我还尝试在Posts模型中建立一些关系

代码语言:javascript
运行
复制
      public function ownerPosts()
        {
            return $this->belongsToMany('App\User', 'followers', 'user_id', 'follower_id');
        }

但它不起作用,因为我可以看到每个关注用户的人。

在个人资料上,我像这样显示帖子:

代码语言:javascript
运行
复制
      $post_query = Posts::with('comments')
             ->with('comments.owner')
             ->with('likes.isLiked')
             ->withCount('likes')
             ->where('user_id', $user->id)
             ->orderBy('id', 'desc')
             ->limit($request->limit)
             ->get();

你知道我怎么解决这个问题吗?

EN

回答 1

Stack Overflow用户

发布于 2019-07-21 20:15:44

追随者也是用户,因此在这种情况下,您可以通过提供不同的名称来加入用户两次。我做了一个查询,您可以尝试或修复它以供您使用。我想你已经明白了,如果我遗漏了什么,就让我知道。

代码语言:javascript
运行
复制
$test = Posts::select('posts.*','users.*', followers.*, follower.name as follower_name
                  ->join('followers', 'posts.user_id', '=', 'followers.follower_id')
                  ->join('users as users', 'followers.user_id', '=', 'users.id')
                  ->join('users as follower', 'followers.follower_id', '=', 'users.id')
                  ->where('users.id', $user->id)
                  ->get();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57093321

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档