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