我收到此错误“致命错误:当我尝试使用我的某个模型时,调用未定义的方法CI_DB_mysql_driver :: findVenueInfo()”。
我有一个关于这个锚的观点:
echo anchor('welcome/searchVenue/' . $row->venue_id, $row->venue);
生成如下链接:http://localhost/ci-llmg/index.php/welcome/searchVenue/1
调用的方法是
function searchVenue()
{
$this->load->model('venues');
//get venue info
$data['info'] = $this->venues->findVenueInfo($this->uri->segment(3)); //this line generates the error
}
和模型中的findVenueInfo函数(venues.php)是:
function findVenueInfo($id)
{
$data = array();
$this->db->where('id', $id);
$Q = $this->db->get('venues');
if ($Q->num_rows() > 0)
{
foreach ($Q->result() as $row)
{
$data[] = $row;
}
}
$Q->free_result();
return $data;
}
..但结果是致命错误:调用未定义的方法CI_DB_mysql_driver :: findVenueInfo() 我可能错过了一些愚蠢的东西,但却无法让它发挥作用!你觉得怎么样?
答案 0 :(得分:6)
您确定您项目根目录下的index.php
文件是否已在正确位置包含引导程序
转到index.php
文件的末尾,并在包含codeigniter.php
之前包含引导程序文件。
您的index.php
文件的结尾行应如下所示。
/*
* --------------------------------------------------------------------
* LOAD THE BOOTSTRAP FILE
* --------------------------------------------------------------------
*
* And away we go...
*
*/
require_once APPPATH.'third_party/datamapper/bootstrap.php';
require_once BASEPATH.'core/CodeIgniter.php';
答案 1 :(得分:3)
function findVenueInfo($id)
{
$data = array();
$this->db->select()->from('venues')->where('id', $id);<----change it to
$Q = $this->db->get();<----change it to
if ($Q->num_rows() > 0)
{
foreach ($Q->result() as $row)
{
$data[] = $row;
}
}
$Q->free_result();
return $data;
}
答案 2 :(得分:2)
我收到类似的错误,发现在3.0中我需要在application / config / database.php中启用query_builder
$query_builder = TRUE;