我有两个表,一个是张贴表和另一个是评论table.in我使用post_id作为foreign_key。 现在我想得到一个包含所有评论的帖子。并且回应应该采用这种格式。从codeigniter中的多个表中获取数据?
{
"posid":1,
"post_name":"testpost",
"comments":[{
"comment_id":1,
"comment_des":"testcoment"
},{
"comment_id":2,
"comment_des":"testcoment2"
}
]
}
任何人都可以为我这种类型的响应写简单的SQL查询吗?
我试着在codeigniter下面查询,但是这返回多个结果,意味着一个帖子两次,因为一个帖子包含两个评论。
$this->db->select("p.post_id,p.post_desc,p.post_time ,c.id,c.comment_desc,c.comment_time");
$this->db->join("asoc_comments as c","p.post_id = c.post_id","INNER");
$response = $this->db->get("asgn_posts as p")->result();
首先,使用活动记录,这是有道理的。其次,对于那个输出,我会使用一个嵌套查询,也就是在结果循环中查询帖子和另一个查询。那么结果将如此。 – jtheman
@jtheman你能写一个示例查询吗? –
看到下面的答案 – jtheman