PHP-当一个表的ID必须与另一个表的ID相同时,如何获取POST?

PHP-当一个表的ID必须与另一个表的ID相同时,如何获取POST?,php,laravel,Php,Laravel,我目前正在用php开发一个新闻提要应用程序。将为用户分配一个位置。用户可以创建分配给用户位置的帖子。到目前为止,无论位置如何,所有帖子都在填充新闻提要。我需要的是通过post位置与用户位置匹配的post来填充新闻提要 这是当前获取帖子的代码,按创建日期降序排列: $posts = Post::orderBy('created_at', 'desc')->get(); 任何帮助都将不胜感激 我无法让它工作,因为我忘了加入我的用户和帖子表。这是我现在的代码,我仍然无法让它工作 DB::t

我目前正在用php开发一个新闻提要应用程序。将为用户分配一个位置。用户可以创建分配给用户位置的帖子。到目前为止,无论位置如何,所有帖子都在填充新闻提要。我需要的是通过post位置与用户位置匹配的post来填充新闻提要

这是当前获取帖子的代码,按创建日期降序排列:

$posts = Post::orderBy('created_at', 'desc')->get();
任何帮助都将不胜感激

我无法让它工作,因为我忘了加入我的用户和帖子表。这是我现在的代码,我仍然无法让它工作

  DB::table('posts')
            ->join('users', function ($join) {
             $join->on('users.id', '=', 'posts.user_id')
            ->where('posts.location', '=', 'users.location');
             });

       $posts = Post::where('posts.location','users.location')
             ->orderBy('created_at', 'desc')->get();






return view('dashboard', ['posts' => $posts]);

}

您可以尝试以下方法:

    Post::where('location',$userLocation)
    ->orderBy('created_at', 'desc')->get();
希望能有帮助


根据nCrazed的建议,编辑后的答案不需要使用原始查询。

为什么不
where('location',$userLocation)
?详细说明这个问题:据我所知,没有理由使用绕过参数绑定的原始查询,因为我们不知道位置的来源,可能会引入SQL注入漏洞。公平地说,你是对的,没有特别的理由使用原始查询,我开始寻找另一个答案,最后得到了这个答案,因为我们没有足够的$users来源信息。