Вот моя проблема в codeigniter MVC.codeigniter mvc, разделение модели
Предположим, у меня есть 3 модели: (пользователи, электронная почта, платежи). Когда кто-то заплатил каким-то образом, контроллер вызывает некоторый метод оплаты, этот метод может быть вызван и с других контроллеров.
Этот способ, вставляет и обновляет базу данных, и в конце он хочет отправить электронное письмо пользователю, у него уже есть идентификатор пользователя, но ему нужно имя пользователя, адрес электронной почты, который должен получить из таблицы пользователей, а затем отправить электронное письмо.
Мне не нравится, что модель платежей может иметь доступ к таблице пользователей, и я хочу получить информацию от модели пользователей и отправить электронное письмо с использованием модели электронной почты.
Обычно я вызываю их из контроллера, я имею в виду первую модель платежей по вызову и получаю результат и получаю информацию о пользователях от модели пользователей, а затем использую модель электронной почты, все в контроллере.
Но поскольку мне нужно запустить метод этой модели в некоторых контроллерах, я должен повторить эти строки, и это не совсем правильный аспект в моей точке.
Вопрос: Должен ли я использовать другие модели внутри модели или использовать другие модели внутри модели (в этой опции, если я хочу повторно использовать эту модель, я должен ее изменить, если другие таблицы изменились, что не так), или есть Любым другим путем?
Основная проблема заключается не в том, что это просто пример ситуации. Я также определил некоторую функцию, которая делает эту вещь и вызывается из контроллеров, но это тоже неправильно.
, если все методы были на одной и той же модели, у меня не было никаких проблем. но это тоже неправильно. – masphp
Я использую CI в течение 3 месяцев, и я столкнулся с некоторым ограничением, так что вы думаете, если я использую фреймворк zend, будет ли он полезным в этом случае и другими ограничениями, то есть: определение многоуровневых контроллеров – masphp