0

I am trying to pass variables into the model when I call it from the controller...

$this->load->model('Some_model',$var1, $var2);

$var1 and $var2 being collected from the URL in the controller's index function. However these are not being picked up in the code?

Is this at all possible as it is pretty important that they are there from the get go in the model?

thanks.

4

2 回答 2

1

使用内置加载器确实无法做到这一点,模型加载代码用空new参数硬编码(至少在 2.1 版中)。

您可能希望将代码移动到库中,因为库加载可以采用带有选项的第二个数组参数,请参见此处

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

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

于 2013-05-30T16:24:41.363 回答
1

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

这是加载模型的文档,我相信您已经阅读过(希望您不仅仅是通过猜测进行编程‽);有一个可选的第二个参数允许您覆盖模型的名称,但没有传递数据的工具。

相反,请考虑使用library,或将这些参数传递给需要它们的任何模型函数。

于 2013-05-30T16:27:03.177 回答