gpt4 book ai didi

mysql - AR 获取自己的帖子和 friend 的帖子

转载 作者:行者123 更新时间:2023-11-29 05:32:36 25 4
gpt4 key购买 nike

我有这些表;

user - contains user_id | username | fullname | email etcc
user_followers - contains follow_id| user_id | follower_id | date etcc
posts - contains post_id | user_id | post | post_date

我正在尝试获取用户关注的用户的所有帖子以及用户自己的帖子。

我试过了

$this->db->select('posts.*')->from('posts')
->join('user_followers', 'user_followers.user_id = posts.user_id', 'INNER')
->where('user_followers.follower_id', $user_id)->order_by('posts.post_date','desc');
$query = $this->db->get();

但问题是,我无法从此查询中获取用户的帖子。我用 or_where 等尝试了其他方法,我能够获得用户的帖子,只是数据增加了三倍:(有人可以帮我吗?非常感谢。

哦在正常的Mysql中,它;

SELECT  posts.*
FROM posts
JOIN user_followers
ON user_followers.user_id = posts.user_id
WHERE user_followers.follower_id = $user_id
ORDER BY
posts.post_date DESC

最佳答案

->where() 支持将任何字符串传递给它,它将在查询中使用它,前提是您分别传递第二个和第三个参数 NULL 和 FALSE。这告诉 CI 不要逃避查询。例如。

$where_query = "p.user_id = $user_id OR p.user_id IN (SELECT user_id FROM user_followers WHERE follower_id = $user_id)";
->where($where_query,NULL,FALSE);

或者,您可以查看此子查询库 https://github.com/EllisLab/CodeIgniter/wiki/Subqueries

关于mysql - AR 获取自己的帖子和 friend 的帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13502671/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com