Получение ошибки при попытке загрузить модель - PullRequest
1 голос
/ 27 ноября 2009

Я загружаю модель для моего сайта на базе CodeIgniter, но он продолжает выдавать ошибку:

"Fatal error: Call to a member function on a non-object in /nfs/c02/h05/mnt/30796/domains/planetchustar.com/html/arguit/system/application/controllers/home.php on line 8"

Вот часть кода, на которую она ссылается:

function index()
{
        $this->load->model('posts');    //error here
        $result = $this->Posts->get_all_topics();
}

Модель называется «Posts», а ее имя файла «posts.php».

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

A Database Error Occurred
Unable to connect to your database server using the provided settings.

Но я уверен, что информация о соединении, которую я сохранил в файле database.php, верна (получена с сайта phpmyadin).

Ответы [ 5 ]

1 голос
/ 27 ноября 2009

Является ли 'posts' в подкаталоге? Если это так, то вам нужно ссылаться на подкаталог во время загрузки.

Если это не так, здесь - это сообщение, которое может помочь.

0 голосов
/ 01 декабря 2009

В этом случае немного сложнее понять руководство пользователя codeigniter. ТОЛЬКО имя файла должно быть в нижнем регистре, загрузка и вызов ($ this-> Posts-> etc ()) должны соответствовать объявлению в файле модели.

Это определенно проблема чувствительности к регистру.

0 голосов
/ 28 ноября 2009

Это означает, что $ this-> load не является ссылкой на объект (скорее всего, null). Почему, может быть, легко определить, когда вы это знаете.

0 голосов
/ 28 ноября 2009

Это ошибка чувствительности к регистру ....

используйте это так:

function index()
{
        $this->load->model('posts');    //error here
        $result = $this->posts->get_all_topics();//<-- Notice "posts" and not "Posts"
}
0 голосов
/ 28 ноября 2009

Я согласен с @arthur. Убедитесь, что вы не пытались встроить контроллер в другой контроллер.

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