Как получить доступ к пользовательским моделям CodeIgniter? - PullRequest
1 голос
/ 28 сентября 2010

Когда я хочу получить доступ к функции пользовательской модели в CodeIgniter внутри пользовательской библиотеки, она выдает

вызов функции-члена Set_where () для необъекта

Хотя я загружаю модель, используя это внутри этой библиотеки

$CI =& get_instance();

$CI->load->model('home_model');

И я использую этот код для доступа к функции внутри home_model class

$CI->home_model->Set_where("film_feature='Y'");

Так что теперь выдает вышеуказанную ошибку.

Так может кто-нибудь помочь мне решить эту ошибку?

Ответы [ 2 ]

1 голос
/ 28 сентября 2010

Вы можете попытаться создать экземпляр объекта вашей модели, например:

include_once('path/modelname.php');
$home_model = new Home_model();
$home_model->set_where(....);

убедитесь, что ваша модель расширяет класс модели CI по умолчанию.

Вы также можете использовать $ CI-> load-> model (modelname); вместо включения ... Проще справиться с проблемами пути, но это будет немного менее эффективно, потому что load-> model будет создавать экземпляр объекта.

0 голосов
/ 28 сентября 2010

Теперь я исправляю проблему, просто добавив $ CI = & get_instance (); в эту функцию, где я хочу получить ранее, я объявляю, что $ CI = & get_instance (); в другой функции этого класса, для которой он не был создан.

Мой рабочий код сейчас ..

$ CI = & get_instance ();

$ CI-> load-> модель ( 'home_model');

$ CI-> home_model-> Set_where ( "film_feature = 'Y'");

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