Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 调用函数模型时,CodeIgniter未定义属性_Php_Codeigniter_Model - Fatal编程技术网

Php 调用函数模型时,CodeIgniter未定义属性

Php 调用函数模型时,CodeIgniter未定义属性,php,codeigniter,model,Php,Codeigniter,Model,求你了,我需要帮助,我在寻找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/co

求你了,我需要帮助,我在寻找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\u model.php。这个查询就是一个例子,我真正的查询是other

<?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);

试着通过评论让我知道。

usuario_model.php和$this->load->model('usuario_model','usuario');难道你们不认为小写和大写的型号名称有区别吗。当从控制器调用加载模型时,U是大写的,但实际的模型文件名是小写的。因此,模型文件丢失/未找到


您是否在控制器中获得$username值?此链接应有助于阅读问题部分

回答问题

我必须创建对象,因为要导入模型codeigniter,不能创建对象的实例

$this->load->model('usuario_model');
$usuario = new usuario_model();

$perfil_usuario = $usuario->obtener_usuario($username);
这样我就可以访问模型的功能

如果有人有最好的答案,请发表评论,谢谢


关于

您是否听说过使用别名加载我更改了型号和控制器中的所有大写U。类usuario_model扩展了CI_model$this->load->model('usuario_model','usuario')$perfil_usuario=$this->usuario->obtener_usuario($username);但是错误仍然存在。如果您在controller/yes中获得$username值,$this->post('user')等于'11111111',但是我解决了这个错误,但是我不知道这个问题和发布解决方案有多接近。