2015-05-24 7 views
1

Я работаю над онлайн-обсуждением в codeigniter, и мне нужно получить результат всех тем и всех их данных, таких как post post id, post author, text и т. Д., А также количество ответов на этот вопрос конкретной теме.Codeigniter count results from join table

$this->db->where('language', $lang) 
     ->order_by('forum_id', 'desc')->limit($limit, $offset) 
     ->get('forum'); 

Вот мой текущий «дБ селектор». Моя другая таблица называется ответами с cols: response_id, forum_id, автором и т. Д. Как присоединиться к ней там? Но только количество результатов? Например: для этой темы есть 0 ответов, для этого есть 3 ответа, нет данных из ответов, просто данные о теме и количестве ответов. Но мне нужно держать там:

->where('language', $lang) 
->order_by('forum_id', 'desc')->limit($limit, $offset) 

Из-за разбиения на страницы и многоязыковой поддержки. Благодарю.

+1

Check [этот ответ] (http://stackoverflow.com/questions/5695503/codeigniter-counting-results-from-a-joined-table) , – Tpojka

+0

@ Geril ссылка, предоставленная Tpojka works .. –

ответ

0

Спасибо, ребята, здесь работает код:

$this->db->where('forum.language', $lang) 
     ->order_by('forum.forum_id', 'desc') 
     ->limit($limit, $offset) 
     ->select('forum.*, COUNT(responses.response_id) as num_answers') 
     ->from('forum') 
     ->join('responses', 'responses.forum_id = forum.forum_id','left') 
     ->group_by('forum_id') 
     ->get();