Codeigniter控制器类

时间:2014-02-24 10:39:57

标签: codeigniter class controller

我创建了codeigniter控制器类,如下所示

class Poems extends CI_Controller{

function __construct() {
    parent::__construct();
    $this->load->model('poem');
}

然后在上面的类中创建方法诗,如下所示

function poem($poemID){
 $data['poem']=  $this->poem->get_poem($poemID);
 $this->load->view('poem',$data);

}

/ * ** * ** * ** * ** * ** * *** / 对于我在模型get_poem()方法中创建的上述控制器类,如下所示

function get_poem(){
    $this->db->select()->from('poems')->where(array('active'=>1,'poemID'=>$poemID))->order_by('date_added', 'desc');
    $query=  $this->db->get();
    return $query->first_row('array');
}

当我在浏览器中运行诗歌时它工作得很好...... 当我想在浏览器中将诗歌方法加载为诗歌/诗歌时,会出现以下错误。

error 1: Missing argument 1 for Poems::poem()
error 2:  Undefined variable: poemID

如何修复此错误

1 个答案:

答案 0 :(得分:0)

您模型中的get_poem()缺少参数。

在模型中,使用控制器中的get_poem($poemID)

原因是,你正在调用这个函数:

get_poem($poemID)
           ^ with an argument

但是当你真正进入模型中的函数时,你会使用它:

get_poem()
         ^ without an argument

这意味着$poemID不仅不会成为get_poem函数中的有效变量,而且函数也不会运行,因为它缺少一个参数。

旁注:poem在写完之后不再发出声音或看起来像一个真实的单词。