我正在尝试修改Phil Sturgeon的休息服务器来验证ion-auth。我将_check_login更改为:
private function _check_login($username = '', $password = NULL)
{
if (empty($username))
{
return FALSE;
}
$this->rest->db = $this->load->database('default', TRUE);
$sql = 'SELECT api_key FROM users WHERE email = ?';
$query = $this->rest->db->query($sql, urldecode($username));
if ($query->num_rows() > 0) {
$user = $query->row_array();
} else {
return FALSE;
}
// If actually NULL (not empty string) then do not check it
if ($password !== NULL AND $user['api_key'] != $password)
{
return FALSE;
}
//return TRUE;
return $user['api_key'];
}
我的第一个问题是我需要做的事情:
$this->rest->db = $this->load->database('default', TRUE);
在我看来,像$ this-> rest-> db应该已经可以访问了,因为它是在构造函数中设置但是我得到一个错误,说我正在尝试查询非对象,如果我不像上面一样在_check_login中添加load-> database()行。注意:我删除了构造函数中的if语句,该语句仅在启用了键或日志记录时初始化数据库连接,因此这不应该是问题。
我认为我的第二个问题是问题1的结果。无论如何,在对REST_Controller进行更改后,我的REST控制器中的模型不再有效。我得到的错误是:
遇到PHP错误
严重性:注意
消息:未定义属性:User :: $ db
文件名:core / Model.php
行号:50
当我在我的某个模型中调用某个方法时,它似乎正在发生。
希望这足以帮助查明问题。关于我可能做错的任何想法?谢谢!
答案 0 :(得分:0)
我相信db类是$ this-> db。你试过了吗?
编辑:啊似乎$ this-> rest-> db也是$ this-> db的别名。