Не удается загрузить модель в codeigniter - PullRequest
0 голосов
/ 02 июля 2011

Мне не удалось загрузить модель из моего контроллера

Это файл контроллера, article.php:

<?php
class Article extends CI_Controller {
function show($id) { //id'ye gore getir
    $this->load->model('articles_model');
    $parameter = $this->articles_model>getarticle($id);
    $this->my_template->build('article_view', $parameter);


}
}
?>

Это файл модели, article_model.php:

<?php
class Articles_model extends CI_Model {


function __construct()
{
    // Call the Model constructor
    parent::__construct();
}

function Getarticle($id)  {
    parent::Model();
    $query = $this->db->get_where('articles', array('id' => $id));
    $data['articles'] = $query->result();
    return $data;
    $query->free_result();

}
}
?>

просто чтобы добавить, я даже пытался загрузить его из автозагрузчика, все еще нет шансов, я предполагаю, что что-то не так с моделью, или вся система сломалась.Модели загружаются без проблем, если я добавлю echo в функцию __construct, это сработает, однако я не могу вызвать функцию getarticle.Боже

UP: Я сделал это!в соответствии с http://grasshopperpebbles.com/codeigniter/codeigniter-call-to-a-member-function-on-a-non-object/

я использовал $ CI = & get_instance ();и вызвал функцию $ CI-> article_model-> getarticle ($ id) и вызвал функцию

Ответы [ 3 ]

3 голосов
/ 04 июля 2011

Должно быть,

  $CI =&get_instance();

 $CI->load->model('articles_model');
    $parameter = $CI->articles_model>getarticle($id);
1 голос
/ 02 июля 2011

В следующей строке есть ошибка разбора:

$parameter = $this->articles_model>getarticle($id);

Должно быть:

$parameter = $this->articles_model->getarticle($id);

Это решает твою проблему? Если нет, какое сообщение об ошибке вы видите?

0 голосов
/ 02 июля 2011

Ответ Лейфа правильный. Просто добавлю одну вещь: вам не нужно использовать длинное имя переменной, например $this->articles_model, снова и снова, используя второй параметр :

$this->load->model('articles_model','artm');
$parameter = $this->artm->getarticle($id);

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

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