簡體   English   中英

調用函數模型時出現CodeIgniter Undefined屬性

[英]CodeIgniter Undefined property when I call the function 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/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);

嘗試通過評論讓我知道。

回答問題。

我必須創建對象,因為導入模型codeigniter不能創建實例對象。

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

$perfil_usuario = $usuario->obtener_usuario($username);

這樣我就可以訪問模型的功能。

如果有人有最佳答案,請發表評論,謝謝

問候

usuario_model.php和$ this-> load-> model('Usuario_model','usuario'); 您不認為小寫和大寫型號名稱有所不同。 從控制器U調用加載模型時使用大寫字母,但實際模型文件名使用小寫字母。 因此,模型文件丟失/找不到。

您在控制器中獲得$ username值嗎? 該鏈接應有助於閱讀問題部分。 CodeIgniter類更改視圖加載順序之前使用的include函數

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM