当前位置: 首页 > 知识库问答 >
问题:

Laravel-雄辩:获取用户的帖子与用户的帖子表

裴俊迈
2023-03-14

我找了很多,但没有找到任何答案,所以我希望你能帮助我!

我有三个表:post、users和post\U users。Post_users包含两列:user_id和Post_id。

我需要得到一个有口才的用户的所有帖子。有什么想法吗?

非常感谢你!

(如果这个问题已经存在,我很抱歉,但我还没有找到它)

共有3个答案

唐弘益
2023-03-14

如果你没有建立关系,试试这个。然而,建立关系是首选。PostUsers和post是post用户和post表的假定模型,post as列是post表的假定模型。这提供了登录用户的帖子,但未经测试。

$postusers=PostUsers::where(['user_id'=>Auth::user()->id])->get();
foreach($postusers as $postuser)
{
        $posts=Posts::where(['post_id'=>$postuser->post_id)]->get();
        foreach($posts as $post)
         {
            print_r($post->post);
         }
}
齐宗清
2023-03-14

Laravel文档很好地涵盖了这一点,但是当我第一次开始的时候,我也有一个问题。查看Laravel关系,了解完整的写作。

// Inside your Post model
public function user() {
    return $this->belongsTo('App\User');
}

// Inside your User model
public function posts() {
    return $this->hasMany('App\Posts');
}

然后,您可以创建一个查询:

$posts = User::find(1)->posts;

或者你可以进一步过滤。。

$posts = User::find(1)->posts()->where('active', 1)->get();

如果您的模型位置和名称不同,您可能需要更改hasMany()belongsTo()的路径。

柯甫
2023-03-14

型号用户

public function posts()
{
  return $this->belongsToMany('App\Post', 'post_users', 'user_id', 'post_id');
}

型号Post

public function users()
{
  return $this->belongsToMany('App\User', 'post_users', 'post_id', 'user_id');
}

尝试:

$user = User::find($id);
$allpost = $user->posts()->get();
var_dump($allpost);
 类似资料:
  • 我需要加载实体以及表示特定用户(当前登录用户)投票的实体。这是两个实体: 所有关联都是单向的。我不使用OneToMany的原因是集合太大,需要在访问之前进行适当的分页:不向我的实体中添加与任何实体的关联意味着防止任何人天真地执行类似于for(PostVote pv:post.getPostVoices())的操作。 对于我现在面临的问题,我有各种各样的解决方案:在我看来,没有一个是完全令人信服的。

  • 我有适当的基于ORM的post和tags表。在数据透视表上分配给post的标记。发帖- 这是我的数据库: 我想检索所有有特殊标签名称的帖子。

  • 你好,我想找到用户所做的帖子... 我使用JWT令牌执行请求: 这是我的创建函数: 这是我的函数,我想在其中获取用户发表的帖子: 这是我为博文准备的模型: 每次我做一个请求它有这个错误: 我的生成令牌:

  • 问题内容: 我已经查询了用户帖子(显然是嵌套资源),并且有一长串来自不同用户的帖子。我希望用户能够单击每个帖子旁边的小星星,以通过ajax收藏该特定帖子。关于如何实现这一目标的任何建议?我遇到的麻烦是一页上有多个收藏夹按钮,偏爱多个帖子。 这有点像Gmail在收件箱中使用收藏的电子邮件那样。其实就是这样 问题答案: 首先,您需要设置数据库来处理此问题,就我个人而言,我将使用has_many:thr

  • 这是一个社交媒体软件。 用户表有id,名称,电子邮件,密码字段。 发布表有id,user_id,标题和其他字段。 职业表有id,标题字段 users_professions表有id,user_id字段 每个用户都有很多帖子。 用户有很多帖子,发布个人物品给用户。 每个用户有一个users_professions。 用户hasOneusers_professions。 问题: 我想获得用户职业与所选

  • 我有这些桌子; 我试图抓取所有的帖子,由用户正在关注的用户和用户自己的帖子。 我试过了 但问题是,我无法从这个查询中获取用户的帖子。我用or_where etc尝试了其他方法,我能够获得用户的帖子,只是数据增加了三倍:(有人能帮我一下吗?非常感谢。 哦,在普通的Mysql中,它;