Php CodeIgniter返回“;未定义属性:Rubrica::$usuario“U模型”;尝试加载函数模型
我正在与CodeIgniter合作。在我的“instancia”控制器中,我需要从控制器“rubrica”创建一个实例,以便从该控制器访问函数 instancia.php:Php CodeIgniter返回“;未定义属性:Rubrica::$usuario“U模型”;尝试加载函数模型,php,codeigniter,model-view-controller,codeigniter-2,Php,Codeigniter,Model View Controller,Codeigniter 2,我正在与CodeIgniter合作。在我的“instancia”控制器中,我需要从控制器“rubrica”创建一个实例,以便从该控制器访问函数 instancia.php: include_once APPPATH.'controllers/controller_ppal.php'; include_once(APPPATH.'controllers/rubrica.php'); class Instancia extends Controller_Ppal { function __
include_once APPPATH.'controllers/controller_ppal.php';
include_once(APPPATH.'controllers/rubrica.php');
class Instancia extends Controller_Ppal
{
function __construct()
{
parent::__construct();
$this->no_logged_msg = 'Debe estar autenticado en el sistema para acceder a esta opción.';
$this->no_auth_msg = 'No tiene autorización para acceder aquí.';
$this->no_partic = 'No ha agregado participantes a la lista aún.';
$this->datos_inc = 'No ha ingresado todos los datos de al menos uno de los participantes.';
$this->load->model('instancia_model');
$this->load->model('usuario_model');
}
...
function guardar()
{
$ext_class = new Rubrica();
$ext_class->session = $this->session;
$ext_class->load->model('usuario_model'); //In spite of it is loaded in "__construct" function
$id_rubrica = $ext_class->guardar();
}
}
rubrica.php:
include_once APPPATH.'controllers/controller_ppal.php';
class Rubrica extends Controller_Ppal {
function __construct()
{
parent::__construct();
$this->no_logged_msg = 'Debe estar autenticado en el sistema para acceder a esta opción.';
$this->no_auth_msg = 'No tiene autorización para acceder aquí.';
$this->load->model('rubrica_model');
$this->load->model('tag_model');
$this->load->model('usuario_model');
}
function guardar()
{
$_POST['usuarios'] = $this->usuario_model->todos_usuarios($this->session->userdata('id_usuario'));
}
}
我收到错误消息“Undefined property:Rubrica::$usuario\u model”。我已经读了好几篇文章,但我找不到解决办法。有人能帮我吗?如果您有需要在多个控制器之间共享的函数,您应该编写一个库 在应用程序/库中创建Tools.php(或任何您想要的) 如果您的库需要经常使用,您可以在config/autoload.php中一次性加载它:
$autoload['libraries'] = array('database', 'tools', '...');
Codigniter不允许这样做,因为它不是好的MVC实践。您可以做的是将共享函数添加到核心目录中的父类,然后从中扩展控制器。请检查:对于库:但这是我无法访问的唯一模型。“tag_模型”和“rubrica_模型”已成功加载。当应用程序增长时,您将遇到问题。这是不推荐的。为什么只有这种模式不起作用?无法从“rubrica”控制器的新实例加载它。如何在此库中加载“usuario_模型”模型?首先加载它:
$this->ci->load->(“usuario_模型”)
然后调用模型函数:$this->ci->usuario_模型->myfunction($data)代码>
$this->load->library("tools");
$this->tools->myfunction($data);
$autoload['libraries'] = array('database', 'tools', '...');