当我从控制器调用变量时,我试图将变量传递给模型...
$ this-> load-> model('some_model',$ var1,$ var2);
从控制器索引函数中的URL收集$ var1和$ var2。但是这些没有在代码中被提取?
这是否完全可能,因为从模型开始它们是非常重要的?
感谢。
答案 0 :(得分:1)
你真的不能用内置的加载器,模型loading code hardcoded和空new
参数(至少在2.1版本中)。
您可能希望将代码移动到库,因为库加载可以使用选项see here获取第二个数组参数。
由于CI的加载器只会创建这些类的一个实例,因此您可以将配置移动到配置文件中,并从__construct
中读取它们。
或者你可以扩展Loader
类并重新实现model()
方法来获取一些参数(如果你不介意有第四个参数或类似的东西)。
答案 1 :(得分:1)
模型在加载时不接受数据参数。模型反映了应用程序的基础数据模型。这绝不应该根据用户输入而改变。
以下是the documentation for loading models我确定您已经阅读过(希望您不仅仅是通过猜测编程编程);有一个可选的第二个参数,允许您覆盖模型的名称,但没有传递数据的工具。
相反,请考虑使用库,或将这些参数传递给任何需要它们的模型函数。