Добавьте еще один контроллер в codeigniter - PullRequest
0 голосов
/ 03 октября 2019

Здравствуйте. В настоящее время я сталкиваюсь с проблемой добавления другого контроллера, и проблема в том, что

У меня есть 2 контроллера

class 1st_Controller extends CI_Controller {
}

и

class 2nd_Controller extends CI_Controller{

my2 модели работают отлично, и единственная проблема заключается в том, что мне нужно вызвать 1 модель для каждого контроллера

, например, 1-й контроллер для 1-й модели и 2-й контроллер для 2-й модели.

Теперьдо сих пор я пробовал

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; ?>

, но не повезло, потому что ошибка говорит, что это неопределенная переменная.

Ответы [ 2 ]

0 голосов
/ 04 октября 2019

Итак, я написал на своем маршруте так, чтобы мои 2nd_Controller работали

$route['default_controller'] = '1st_Controller';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;
$route['2nd_Controller'] = '2nd_Controller';

Теперь все работает отлично. Спасибо за помощь

0 голосов
/ 04 октября 2019

Ваш второй контроллер не может быть определен, потому что он не определен как subclass_prefix в вашем приложении codeigniter.

class 2nd_Controller extends 1st_Controller { //codeigniter don't recognize this.
}

Самый простой способ решить вашу проблему - это тот факт, что вы можете вызвать несколькомодели в 1 контроллере.

, поэтому вы можете иметь:

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');
     }
 }

Надеюсь, что поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...