Mensagem: Variável indefinida: na página de exibição

Ainda sou novo no PHP e no conceito MVC. Eu tentei duplicar o Tutorial CI News (http://codeigniter.com/user_guide/tutorial/news_section.html), enquanto eu uso meu próprio database e reescreva o código.

Eu não tive sucesso.

Aqui está o meu controlador:

class Main extends CI_Controller { public function __construct() { parent::__construct(); $this->load->helper('url'); $this->load->library('tank_auth'); $this->load->model('structures_model'); } public function structures() { $this->load->model('structures_model'); if (!$this->tank_auth->is_logged_in()) { redirect('/auth/login/'); } else { $data['structures_all'] = $this->structures_model->get_structures(); $this->load->view('templates/header', $data); $this->load->view('templates/navmain', $data); $this->load->view('structures', $data); $this->load->view('templates/footer', $data); } } 

Aqui está o meu modelo (structure_model)

 load->database(); } public function get_structures() { $query = $this->db->get('structures'); return $query->result_array(); } } 

E minha visão:

  

Structures

O erro que estou recebendo é o comum:

 A PHP Error was encountered< Severity: Notice Message: Undefined variable: structures_all Filename: main/structures.php Line Number: 2 

Eu estou perdido. Olhei para todos os erros similares que as pessoas obtiveram, mas não consigo descobrir por que exatamente a matriz de estrutura_all não está sendo definida. Não deveria ser criado na function do controlador onde eu configurei:

 $data['structures_all'] = $this->structures_model->get_structures(); 

o que estou perdendo?

A melhor maneira de depurar isso seria atribuir $data['structures_all'] um valor de matriz definitivo, digamos: $data['structures_all'] = array('foo' => 'bar');

A variável $structures_all disponível na visualização agora? Se estiver disponível, você sabe que $this->structures_model->get_structures(); está retornando null .

Você tem uma tabela em seu database chamado structures ?

Tem certeza de que os detalhes da conexão do database estão preenchidos em config/database.php ?

Você apresentou o relatório de erro php para todos? Pode haver mensagens ocultas … chamada error_reporting(E_ALL); no construtor do seu controlador.

Também tente fazer eco: $this->db->last_query(); para verificar se a sua consulta está sendo construída da mesma maneira que você tentou em phpmyadmin …

Espero que isso o coloque no caminho certo.