如何在使用Code ignition时将变量传递给model's __construct函数


How to pass variables into a model's __construct function when using Code Igniter?

当我从控制器调用它时,我试图将变量传递到模型中。

$ this ->加载>模型(Some_model, var1美元,美元var2);

$var1和$var2从控制器的索引函数中的URL中收集。然而,这些在代码中没有被拾取?

这是可能的,因为这是非常重要的,他们从一开始就在模型中存在?

谢谢。

你真的不能用内置的加载器,模型加载代码硬编码为空的new参数(至少在2.1版本)。

您可能希望将代码移动到库中,因为库加载可以使用第二个带选项的数组参数,参见这里。

由于CI的加载器只会创建这些类的一个实例,因此您可以将配置移动到配置文件中,并从__construct中读取它们。

或者您可以扩展Loader类并重新实现model()方法以获取一些参数(如果您不介意有第四个参数或类似的东西)。

模型在加载时不接受数据参数。模型反映应用程序的底层数据模型。这应该永远不会因为用户的输入而改变。

这是加载模型的文档,我相信你已经读过了(希望你不只是通过猜测‽来编程);第二个可选参数允许您覆盖模型的名称,但没有传递数据的功能。

相反,可以考虑使用,或者将这些参数传递给需要它们的模型函数。