Я хочу загрузить несколько моделей в определенную функцию в контроллере?Загрузка нескольких моделей в контроллер
Ожидая repeatatively $ this-> loadModel ('') ModelName метод.
Я хочу загрузить несколько моделей в определенную функцию в контроллере?Загрузка нескольких моделей в контроллер
Ожидая repeatatively $ this-> loadModel ('') ModelName метод.
Наконец-то я решил свою проблему, это простой способ, передав массив ModelNames в $this->loadModel();
Функция.
$ this-> loadModel ('model1', 'model2', 'model3', ...);
И вы хотите загрузить несколько моделей для всего контроллера, то вы можете:
публика $ использует = массив ('model1', 'model2', 'model3', ... .);
для меня Я использовал «$ this-> loadModel» в двух местах для нескольких моделей, но базовый класс работает, но для дочернего класса он загружает только первую модель. Может ли кто-нибудь помочь? –
Если у вас есть только одна или две модели, самый простой способ - позвонить loadModel
один или два раза. Вот одна строка кода, который должен работать (не проверено) для вас, если у вас есть несколько моделей:
array_map ([$this, 'loadModel'], ['Model1', 'Model2', 'Model3']) ;
Во всяком случае, если у вас действительно есть много моделей для загрузки вручную, может рассмотреть вопрос реорганизации проекта ...
Да ваш метод является правильным
$this->loadModel('model1', 'model2', 'model3', ...);
И если вы хотите загрузить несколько методов для всего контроллера, в этом случае вы можете использовать это в классе контроллера
public $uses = array('model1','model2','model3', ....);
сделать это
public function initialize(){
$this->Model = $this->loadModel('modelClass')
}
Вы можете заменить Model и modelClass на ваш случай
Что может быть, вы хотите загрузить несколько моделей? –