我需要帮助,我正在查找1天前的错误
Severity: Notice
Message: Undefined property: Login::$Usuario_model
Filename: api/login.php
Line Number: 27
Fatal error: Call to a member function obtener_usuario() on a non-object in /home/fpincheira/web/cobranza/application/controllers/api/login.php on line 27
这是我的模型usuario_model.php。这个查询是一个例子,我真正的查询是其他
<?php
class Usuario_model extends CI_Model {
function __construct(){
parent::__construct();
$this->db1 = $this->load->database('db1', TRUE);
}
function obtener_usuario($rut){
$sql = "SELECT sysdate FROM dual"; //this is a example query
$query = $this->db1->query($sql, array($rut));
return $query->result_array();
}
}
?>
控制器login.php
<?php defined('BASEPATH') OR exit('No direct script access allowed');
require APPPATH.'/libraries/REST_Controller.php';
class Login extends REST_Controller {
function __construct(){
parent::__construct();
}
function validarUsuario_post(){
try{
$username = $this->post('user');
$this->load->model('Usuario_model','usuario');
$perfil_usuario = $this->usuario->obtener_usuario($username);
//print_r($perfil_usuario);
}catch(Exception $e){
$this->response(array('error'=>$e->getMessage()), $e->getCode());
}
}
}
?>
在我的autoload.php中,我已经加载了"数据库"库。
你能看到错误吗?
您需要替换以下行:
$this->load->model('Usuario_model','usuario');
$perfil_usuario = $this->usuario->obtener_usuario($username);
带有:
$this->load->model('usuario_model');
$perfil_usuario = $this->usuario_model->obtener_usuario($username);
试着通过评论让我知道。
回答问题。
我必须创建对象,因为要导入模型代码点火器,而不是创建对象的实例。
$this->load->model('usuario_model');
$usuario = new usuario_model();
$perfil_usuario = $usuario->obtener_usuario($username);
这样我就可以访问模型的功能。
如果有人有最好的答案,请评论,谢谢
问候
usuario_model.php和$this->load->model('usuario_mode','suario');你们不认为小写和大写的型号名称有区别吗。而调用从控制器U加载模型是大写的,但实际的模型文件名是小写的。因此,模型文件丢失/找不到。
你在控制器中得到$username值了吗?这个链接应该有助于阅读问题部分。include函数在CodeIgniter类更改视图加载顺序