开发者

Cannot load a model in codeigniter

开发者 https://www.devze.com 2023-03-16 17:17 出处:网络
I failed to load a model from my controller This is the controller file, article.php: <?php class Article extends CI_Controller {

I failed to load a model from my controller

This is the controller file, 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);


}
}
?>

This is the model file, articles_mode开发者_如何学Gol.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();

}
}
?>

just to add, i even tried to load it from autoloader, still no chance, i assume something is wrong with the model, or the whole system broke.

up: the models loads without problems, if i put echo in __construct function, it works, however, i cannot call the getarticle function. geez

UP: I did it! according to http://grasshopperpebbles.com/codeigniter/codeigniter-call-to-a-member-function-on-a-non-object/

i used $CI =& get_instance(); and called the function $CI->articles_model->getarticle($id) and it called the function


It should be,

  $CI =&get_instance();

 $CI->load->model('articles_model');
    $parameter = $CI->articles_model>getarticle($id);


There's a parse error in the following line:

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

It should be:

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

Does that fix your problem? If not, what error message are you seeing?


Leif's answer is the right one. Just to add one thing: you don't have to use the long variable name like $this->articles_model over and over, by using the second parameter:

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

Just a little faster to type, and can reduce typos like the one in your sample.

0

精彩评论

暂无评论...
验证码 换一张
取 消