Php Can';CodeIgniter控制器中的t-find模型

Php Can';CodeIgniter控制器中的t-find模型,php,codeigniter,codeigniter-3,Php,Codeigniter,Codeigniter 3,我在第8行中加载了Get\u notes模型,但是当我想在第23行中使用Get\u notes模型来加载add\u notes方法时,会出现错误,并在第23行中说未定义属性:notes:$Get\u notes! 第23行有点不对劲,但我不知道那是什么。请帮帮我。 谢谢 您的get\u notes模型仅在index函数中加载。您不能在索引函数中加载模型并在任何其他函数中使用它,而不必再次加载它。 我认为您正在尝试加载模型一次,并在整个控制器中使用它。为此,必须将其加载到_构造方法中。您的代码应与

我在第8行中加载了
Get\u notes
模型,但是当我想在第23行中使用
Get\u notes
模型来加载
add\u notes
方法时,会出现错误,并在第23行中说
未定义属性:notes:$Get\u notes
! 第23行有点不对劲,但我不知道那是什么。请帮帮我。 谢谢


您的get\u notes模型仅在index函数中加载。您不能在索引函数中加载模型并在任何其他函数中使用它,而不必再次加载它。
我认为您正在尝试加载模型一次,并在整个控制器中使用它。为此,必须将其加载到_构造方法中。您的代码应与此类似:

<?php

class Notes extends CI_Controller
{

    public function __construct()
    {
        parent::__construct();
        $this->load->model('Get_notes');
    }

    public function index()
    {
        $data['notes'] = $this->Get_notes->get_mm();
        $this->load->view('show', $data);
    }

    public function insert()
    {
        $title = 'Something';
        $text = 'Something else';

        $data = [
            'title' => $title,
            'text' => $text
        ];

        $this->Get_notes->add_notes($data);
    }
}
Put$this->load->model('Get_notes');在insert()函数中


如果您想全局使用它,请将其放入构造函数中。

按照您编写它的方式,您的
Get\u notes
模型仅在
index()
函数中可用


要使您的
Get_notes
模型可用于单个控制器中的所有功能,请将其加载到该控制器中


要使您的
Get_notes
模型对任何CI控制器中的所有函数全局可用,请将其放入位于
application/config/autoload.php
autoload.php
文件中的
autoload['Model']
数组中

$autoload['model'] = array('get_notes'); // available to all functions in your CI application

→ 请注意,无论您以后如何引用它,它都应该用所有小写字母写

$this->load->model('get_notes');
$this->get_notes->add_notes($data);

见:

如果要在任何控制器中使用构造函数,必须在其中放置以下代码行:

parent::u构造();//请注意,没有美元符号

  • :
其中,
Model\u name
是您的类的名称。类名的第一个字母必须大写,其余名称必须小写。确保您的类扩展了基本模型类

  • :
您的模型通常会从控制器方法中加载和调用。要加载模型,您将使用以下方法:

$this->load->model('model_name')

加载后,您将使用与类同名的对象访问模型方法:

$this->model_name->method()

要自动加载资源,请打开
应用程序/config/autoload.php
文件,并将要加载的项添加到自动加载数组中。您将在该文件中找到与每种类型的项目对应的说明


codeigniter模型调用区分大小写,因此要获得您应该使用的模型

$this->get_notes->a_function_inside_the_model ();
还请注意,模型文件夹中的名称应始终以大写字母开头

每当我们在本地主机服务器(如wamp服务器)上运行codeigniter时,这些问题并不存在,但在实时服务器上会存在


希望这是有帮助的

嗨,你需要做一些更改,比如
$this->load->model('Get_notes')
$this->load->model('get_notes')
$this->Get_notes->Get_mm()
$this->get_notes->get_mm()。该问题可能在通话中被资本化
$this->load->model('get_notes');
$this->get_notes->add_notes($data);
$this->get_notes->a_function_inside_the_model ();