如何通过使用变量来调用CI模型函数
问题描述:
我有一个包含所有扩展名的数组,并且我想为该扩展加载相应的模型,然后调用install方法。它应该是这个样子:如何通过使用变量来调用CI模型函数
foreach ($extensions as $extension) {
$this->load->model('Model_'. $extension);
$this->model_$extension->install(); //how do I achieve this?
}
答
尝试分配模型名称变量,然后使用该变量来加载模型
foreach ($extensions as $extension) {
$load_model = 'Model_'. $extension;
$this->load->model($load_model);
$this->$load_model->install();
}
答
foreach ($extensions as $extension) {
$model = 'Model_'. $extension; // save in separate var
$this->load->model($model);
$this->$model->install();
}
我都试过,但不能连接,并在同一时间分配,所以可以有不同的变量和呼叫。
@ssd你有没有解决它? –
只要注意,如果你在别处引用这些模型,你需要坚持上面定义的Case ...因为上面是Model_xxx,所以你需要使用$ this-> Model_xxx-> method();如果您使用model_构建模型字符串名称 - 您可以使用小写字母$ this-> model_xxx-> method(); – TimBrownlaw
@TimBrownlaw谢谢你提到这个。我在我的代码中使用了小写字母,只是从问题中粘贴了代码。 –