Php Can';CodeIgniter控制器中的t-find模型
我在第8行中加载了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函数中加载。您不能在索引函数中加载模型并在任何其他函数中使用它,而不必再次加载它。 我认为您正在尝试加载模型一次,并在整个控制器中使用它。为此,必须将其加载到_构造方法中。您的代码应与
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 ();