我的模特作者功能就像那样
class Authors extends CI_Model{
function __construct()
{
parent::__construct();
}
function available_username($text)
{
$this->db->query("SELECT username FROM tbl_users WHERE username='$text' LIMIT 1");
if($this->db->affected_rows() == 0)
{
return TRUE;
}
else
{
return FALSE;
}
}
}
我在我的课堂上调用这个功能
$CI =& get_instance();
$CI->load->model('authors');
$username = "Danny";
if($CI->authors->available_username($username) == TRUE)
{
$fUsername = TRUE;
}
else
{
$fUsername = FALSE;
}
我认为它是正确的方法,但我得到模型错误
Fatal error: Call to a member function query() on a non-object
答案 0 :(得分:0)
您不需要使用$ CI =&来调用/加载您的模型get_instance();
在控制器上,您可以像这样加载:
$ this-> load-> model(“yourModelName”,“alias”); //别名可选
然后,您可以使用以下方法:$ this-> yourModelName-> method();
现在让我们来谈谈错误:当您在IF()语句中输入一个像您一样的复杂调用时会发生这种情况。 相反,这样做:
$stuff = $CI->authors->available_username($username); if($stuff == TRUE) { $fUsername = TRUE; } else { $fUsername = FALSE; }
当你把这种陈述放在变量上时,就会发生魔法!
别忘了告诉我它是否有效:D
答案 1 :(得分:0)
我认为你的问题是你没有加载数据库。
检查config / autoload.php
并且看到你已经加载了数据库,没有必要从自动加载加载数据库,但它通常。
$autoload['libraries'] = array('database');