2013-05-17 2 views
0

Я озадачен странным поведением CodeIgniter. Я извлекаю некоторые данные из модели и возвращаю их контроллеру и передавая эти данные с контроллера на View.Данные не переходят из контроллера для просмотра кода Igniter

Контроллер

function index() 
    { 
     $data['details'] = $this->Mymodel->Get_Details(); 
     $this->load->view('mypage',$data); 
    } 

Модель

public function Get_Details() 
    { 
     $query = " 
        SELECT 
          * 
        FROM 
          tablename 
       "; 

     $result = $this->db->query($query)->result(); 
     return $result; 
    } 

Посмотреть

<?php 
print_r($details); 
?> 

Проблема не ничего не отображается в вид вол е. Если я даю print_r($data); в Controller или print_r($result); в Model, результат будет показан. Если в select, * заменяется отдельными именами столбцов, тогда выход передается от Controller до View и выводится вывод.
Каким-либо образом существует ли ограничение на передачу данных с контроллера для просмотра?

Обновление: В случае, если я использую print_r($details[0]); или print_r($details[n]);, результат распечатывается. Если используется print_r($details);, страница просто пустая. В чем может быть проблема?

+0

вы уверены, что он печатает в контроллере? и если это так, убедитесь, что ваш вид в корне папки просмотра –

+0

@ AhmedD.Sherif: я уверен, что он печатает в контроллере. Почему его не перешагнули, чтобы рассмотреть головоломки меня. –

+0

Вы загрузили свою модель? – Catfish

ответ

0

попробовать это в модели

public function Get_Details() 
{ 
    $query = " 
       SELECT 
         * 
       FROM 
         tablename 
      "; 

    $result = $this->db->query($query); 
    return $result->result(); 
} 
+0

Разве этот код не эквивалентен коду уже в вопросе? – jleft

+0

I второй лев. –

0

Вы пробовали этот код:

Модель

public function Get_Details() 
    { 
     $query = " 
        SELECT 
          * 
        FROM 
          tablename 
       "; 

     return $this->db->query($query); 
    } 

Посмотреть

<?php 
print_r($details->result()); 
?> 
0

Функция result() возвращает результат запроса в виде массива объектов или пустой массив при сбое.

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

Вы можете посмотреть здесь для подробностей: http://ellislab.com/codeigniter/user-guide/database/results.html

Смежные вопросы