Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.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返回“;未定义属性:Rubrica::$usuario“U模型”;尝试加载函数模型_Php_Codeigniter_Model View Controller_Codeigniter 2 - Fatal编程技术网

Php CodeIgniter返回“;未定义属性:Rubrica::$usuario“U模型”;尝试加载函数模型

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 __

我正在与CodeIgniter合作。在我的“instancia”控制器中,我需要从控制器“rubrica”创建一个实例,以便从该控制器访问函数

instancia.php:

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', '...');