Вернуть категорию и форумы в запросе? - PullRequest
0 голосов
/ 04 марта 2012

В настоящее время я разрабатываю простой форум внутри CodeIgniter, чтобы разобраться с PHP, и я столкнулся с проблемой, хотя и элементарной.

Мой индекс форума состоит из категорий, каждая из которых имеетим назначено несколько форумов.Я хотел бы отобразить заголовок каждой категории, а затем вернуть все форумы внизу.

Вот моя МОДЕЛЬ на данный момент для возврата данных:

function get_top_level_forums()

{

    $this->db->select('id, title');
    $this->db->from('forum_category');
    $query = $this->db->get();

    if ($query->num_rows() > 0)

    {

        $categories = $query->result();

        foreach($categories as $category)

        {

            $this->db->select('id, title, description');
            $this->db->from('forum');
            $this->db->where('parent_id', 0);
            $this->db->where('category_id', $category->id);
            $query = $this->db->get();

            $forums = $query->result();

        }

        return $categories;

    }

}

Яизо всех сил пытается выяснить, как вернуть все данные в одном массиве.Я знаю, что это вопрос новичка, но я ткнул в него в течение часа и не вижу света в конце туннеля!

Я знаю, как использовать данные в моем КОНТРОЛЛЕРЕ и ПРОСМОТРЕ,Я просто застрял на части МОДЕЛЬ.

Спасибо.

:)

Ответы [ 2 ]

0 голосов
/ 04 марта 2012

Вместо того, чтобы использовать переменную для хранения результата, используйте вместо этого массив

$forums[] = $query->result();

Полный пример:

$forums = array();
foreach($categories as $category)

        {

            $this->db->select('id, title, description');
            $this->db->from('forum');
            $this->db->where('parent_id', 0);
            $this->db->where('category_id', $category->id);
            $query = $this->db->get();

            $forums[] = $query->result();

        }
        //$forums now contains all the query results

Обновление

Для доступа к переменным вы можете использовать

$forums[$forumindex][0] -> id;
0 голосов
/ 04 марта 2012

Поместите результаты внутреннего запроса в массив внутри цикла, а затем верните этот массив.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...