Вызов модели из контроллера с маршрута 404 - PullRequest
0 голосов
/ 29 ноября 2011

Здесь возникла проблема, когда я не могу загрузить метод из модели после перенаправления страницы после обнаружения 404.

Имя модели: Category_Model
Имя метода: get_category_menu()

На моих маршрутах я обновил перегрузку 404 до: $route[‘404_override’] = ‘whoops’;

У меня также есть мой контроллер Ой, который читает: -

<?php
class Whoops extends CI_Controller 
{
  function index()
  {
    $this->load->model('Category_Model');
    $data['Categories'] = $this->Category_Model->get_category_menu();
    $data['main_content'] = $this->load->view('messages/whoops', null, true);
    $this->load->view('includes/template', $data);
  }
} 

Поэтому, когда я перехожу на страницу, которая не существует, я получаю следующую ошибку…

Сообщение: Undefined property: Whoops::$Category_Model
Имя файла: controllers/whoops.php

У меня естьЗдесь я жестко запрограммировал загрузку модели в контроллер, хотя она у меня в автозагрузке, но не повезло.

Все остальное с сайтом пока работает, только эта проблема 404.Любые указатели были бы хороши, вроде как новичок в КИ, так что будьте осторожны со мной.

Ответы [ 2 ]

0 голосов
/ 29 ноября 2011

Если в модели нет некоторого кода, который требует этого, вы сможете избежать вызова метода как статического метода. Просто убедитесь, что префикс get_category_menu () с «static» в Category_Model.

function index()
  {
    $this->load->model('Category_Model');
    $data['Categories'] = Category_Model::get_category_menu();
    $data['main_content'] = $this->load->view('messages/whoops', null, true);
    $this->load->view('includes/template', $data);
  }
0 голосов
/ 29 ноября 2011

Вы пытались создать родителя?

public function __construct()
    {
        parent::__construct();

    }

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