Запрос не работает в CodeIgniter - PullRequest
0 голосов
/ 11 октября 2010
function menuName () 
{
    $this->viewData['page_title'] = "ContentManagement Systemt!";
    $this->db->where('visible', 1);
    $this->db->order_by("position", "ASC"); 
    $query = $this->db->get('subjects');
    $subjects = $query->result();
    foreach ($subjects as $subject)
    {
        echo $subject->menu_name ."<br />";
        $this->db->where('subject_id', $subject->id );
        $query = $this->db->get('pages');
        $pages = $query->result();
        foreach ($pages as $page)
        {
            echo $page->menu_name ."<br />";
        }        
    }
}

Почему мой запрос не работает?Пожалуйста, скажите мне.

Ответы [ 2 ]

0 голосов
/ 10 марта 2011

Почему вы не повторяете запрос следующим образом:

echo $ this-> db-> last_query ()

Чтобы увидеть, что происходит с результатами

Может быть, проблема в этом.

0 голосов
/ 11 октября 2010

Вы всегда должны использовать циклы foreach, как показано ниже:

$subjects = $query->result();
foreach ($subjects as $subject)

Ваш подход имеет плохую производительность.

И, возможно, это уже решает вашу проблему - я не мог проверить это прямо сейчас.Ваши переменные запроса имеют одинаковые имена, и вы используете $ query в обоих циклах foreach - это может привести к некоторому странному поведению.

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