0

好的,所以我正在从事我第一个来自软件职位的 php/mysql 项目。我正在学习 codeigniter,并且我发现这个 mysql 加入会根据 user.id 获得我的朋友状态,我如何将我所有的帖子添加到我必须做一个 AND 查询?

select * from friendships
join users on users.`id` = friendships.`friend_id`
join statuses on statuses.`user_id` = users.id
where friendships.`user_id` = 2 
ORDER BY statuses.`id` desc

非常感谢任何帮助

4

4 回答 4

2

codeigniter中的join查询可以写成:

$this->db->select("*");
$this->db->from("friendships");
$this->db->join("users","users.id = friendships.friend_id");
$this->db->join("statuses","statuses.user_id = users.id");
$this->db->where("friendships.user_id",2);
$this->db->order_by("statuses.id","desc");
$result=$this->db->get();

或者

$this->db->select("*");
$this->db->join("users","users.id = friendships.friend_id");
$this->db->join("statuses","statuses.user_id = users.id");
$this->db->where("friendships.user_id",2);
$this->db->order_by("statuses.id","desc");
$result=$this->db->get("friendships");
于 2013-08-09T04:15:21.523 回答
0

为什么不在您的友谊表中将每个用户添加为他们自己的追随者?因此,在注册时,您将它们添加到用户表和友谊表中。

用户 1 关注用户 1 等

于 2013-08-09T14:47:35.480 回答
0

好吧,CodeIgniter 通过 ActiveRecord 抽象了 DB 交互(因此实际上没有必要编写完整的 SQL 查询字符串)。他们比我能更好地解释它:

http://ellislab.com/codeigniter/user-guide/database/active_record.html

于 2013-08-08T19:00:03.137 回答
0

您也可以在 codeigniter 中使用此查询

$query = $this->db->query("select * from friendships
                           join users on users.`id` = friendships.`friend_id`
                           join statuses on statuses.`user_id` = users.id
                           where friendships.`user_id` = 2 
                           ORDER BY statuses.`id` desc");
$result = $query->row_array();
于 2016-03-12T19:12:22.470 回答