我创建了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
如何修复此错误
答案 0 :(得分:0)
您模型中的get_poem()
缺少参数。
在模型中,使用控制器中的get_poem($poemID)
。
原因是,你正在调用这个函数:
get_poem($poemID)
^ with an argument
但是当你真正进入模型中的函数时,你会使用它:
get_poem()
^ without an argument
这意味着$poemID
不仅不会成为get_poem
函数中的有效变量,而且函数也不会运行,因为它缺少一个参数。
旁注:poem
在写完之后不再发出声音或看起来像一个真实的单词。