У меня есть две таблицы, одна - столбец, а другой - таблица комментариев. В которой я использую 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