Php 在codeigniter中添加另一个控制器
您好,我目前面临添加另一个控制器的问题,问题是 我有两个控制器Php 在codeigniter中添加另一个控制器,php,codeigniter,Php,Codeigniter,您好,我目前面临添加另一个控制器的问题,问题是 我有两个控制器 class 1st_Controller extends CI_Controller { } 及 我的两个模型工作得非常好,唯一的问题是我需要为每个控制器调用一个模型 比如说 第一个控制器用于第一个型号,第二个控制器用于第二个型号 到目前为止我试过的是 class 2nd_Controller extends 1st_Controller { public function __construct() {
class 1st_Controller extends CI_Controller {
}
及
我的两个模型工作得非常好,唯一的问题是我需要为每个控制器调用一个模型
比如说
第一个控制器用于第一个型号,第二个控制器用于第二个型号
到目前为止我试过的是
class 2nd_Controller extends 1st_Controller {
public function __construct()
{
header("Access-Control-Allow-Origin: *");
parent::__construct();
$this->load->model('2nd_model','2ndmodel');
$this->load->helper('url');
$this->load->library("pagination");
$this->load->library("session");
}
public function index()
{
$data['title'] = 'System Login';
$get_all_inv = $this->2ndmodel->get_all();
$data["tryvariable"] = $get_all_inv;
$this->template->load('default_layout','contents','myview2nd', $data);
}
}
我试着在我的视野中这样回音
<?php echo $tryvariable; ?>
但是没有运气,因为错误表明它是一个未定义的变量。无法定义第二个控制器,因为它在codeigniter应用程序中未定义为
子类前缀
class 2nd_Controller extends 1st_Controller { //codeigniter don't recognize this.
}
解决问题最简单的方法是。。事实上,您可以在一个控制器中调用多个模型
因此,您可以:
class 1st_Controller extends CI_Controller {
public function __construct()
{
parent::__construct();
$this->load->model('1st_model','1stmodel');
$this->load->model('2nd_model','2ndmodel');
}
}
或者只打一次电话
class 2nd_Controller extends CI_Controller {
public function __construct()
{
parent::__construct();
$this->load->model('2nd_model','2ndmodel');
}
}
希望这能有所帮助。所以我所做的就是这样写,让我的2nd\u控制器工作
$route['default_controller'] = '1st_Controller';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;
$route['2nd_Controller'] = '2nd_Controller';
现在一切都很顺利。感谢所有帮助您没有在\uuu construct
中加载模板,如果您试图加载一些视图,那么这是错误的方法。每个控制器使用一个模型也应以另一种方式进行。你应该添加\u构造你想要使用的模型。你是什么意思我没有加载temple$this->template->,程序不知道什么是模板
我的库中有一个template.php,先生,它在第一个控制台上运行得很好。如果是这样,我认为问题出在隐藏的模板
库中的load
方法内部。在使用print\r()
函数发送这些变量时,请检查它。至少检查一下他们是否会来
$route['default_controller'] = '1st_Controller';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;
$route['2nd_Controller'] = '2nd_Controller';