我想在控制器的特定功能中加载多个模型?
期待重复 $ this-> loadModel('ModelName') 方法。
答案 0 :(得分:9)
我已经解决了我的问题,通过在$this->loadModel();
函数中传递ModelNames数组,这是一种简单的方法。
$this->loadModel('model1', 'model2', 'model3', ...);
你想为整个控制器加载多个模型,然后你可以:
public $uses = array('model1', 'model2', 'model3', .... );
答案 1 :(得分:4)
如果您只有一个或两个型号,最简单的方法是拨打loadModel
一次或两次。如果您有多个模型,这里有一行代码可以使用(未经测试):
array_map([$this, 'loadModel'], ['Model1', 'Model2', 'Model3']);
无论如何,如果你手动加载很多模型,可以考虑重新设计你的项目...
答案 2 :(得分:2)
这样做
public function initialize(){
$this->Model = $this->loadModel('modelClass')
}
您可以将Model和modelClass替换为您的案例
答案 3 :(得分:1)
是的,你的方法是正确的
$this->loadModel('model1', 'model2', 'model3', ...);
如果你想为整个控制器加载多个方法,那么你可以在控制器类中使用它
public $uses = array('model1','model2','model3', .... );
答案 4 :(得分:0)
$ this-> loadModel('model1','model2','model3',...);
这不是路.... 如果要在一行中加载多个模型,则必须使用它。
Blockquote public $ uses = array('model1','model2','model3',....); 引用