CodeIgniter, вызов функции от одного контроллера к другому [закрыто]


приветствие от меня, у меня есть сомнения с CodeIgniter, и выглядит следующим образом:

оказывается, я делаю небольшую систему штрафов за транспортное средство, что-то простое, чтобы понять природу фреймворка, где у меня есть 2 таблицы в базе данных (транспортное средство и штраф), это, в свою очередь, у меня есть 2 модели (VehiculoModel и MultaModel), которые доступны 2 контроллерами (транспортное средство и штраф), уважая философию этой фреймворка, я уже сделал раздел регистрации,сохранения и запроса транспортных средств, в контроллере транспортного средства, с их необходимые представления, теперь сомнение заключается в следующем.......... Я пытаюсь вызвать из контроллера штрафа функцию, которая находится в контроллере транспортного средства, который должен получить данные транспортного средства и загрузить его в представление, которое будет отвечать за регистрацию штрафа, как вы можете сделать эту операцию?

Author: juan, 2016-05-02

1 answers

То, что вы пытаетесь сделать, не поддерживает поведение системы MVC. Если вы хотите выполнить действие другого контроллера, вы должны перенаправить пользователя на нужную страницу (т. е. функцию контроллера, которая потребляет url).

Если вам нужна общая функциональность, вы должны создать библиотеку, которая используется в двух контроллерах.

Можно предположить, что вы хотите создать свое приложение немного модульным. (Т. е. повторно использовать выход самый простой способ-использовать библиотеку для создания общих "элементов управления" (т. е. загружать модель, отображать представление в строке). Затем вы можете вернуть эту строку и передать ее в представление другого контроллера.

Например:

$string_view = $this->load->view('someview', array('data'=>'stuff'), true);

Вы также можете проверить следующую ссылку, в которой есть информация о том, как это сделать, используя маршруты. https://stackoverflow.com/questions/14165895/how-to-load-a-controller-from-another-controller-in-codeigniter

ОТРЕДАКТИРОВАННЫЙ ВОПРОС В КОММЕНТАРИИ

Чтобы вызвать модель в Библиотеке, вы можете сделать что-то вроде этого:

public function util(){
      $CI =& get_instance();
      $CI->load->model('VehiculoModel');
      $result = $CI->prueba_model->getVehiculo();
      return $result;

}

 1
Author: Juan Pinzón, 2016-05-03 03:44:51