【发布时间】:2014-12-01 07:21:13
【问题描述】:
Cakephp V2.6
在我当前的项目中,我正在尝试利用一些面向对象的功能。在我的模型中,我创建了一个自定义查找方法来以特定方式检索结果。然后我将此数组返回给控制器并将其提供给视图。
我正在实现一个 excel 插件来导出数据,并且有问题的数据与呈现给视图的数据相同。
在我的自定义查找中,我将结果分配给模型中的静态变量,然后再将结果返回给控制器。
当我点击我的导出按钮时,我想使用控制器调用一个 modelX 方法来返回这个静态数组,该数组可以传递给我的插件以导出数据。但是,我似乎无法做到。我尝试在类中声明一个静态变量,但它不起作用。我尝试在分配的方法中对变量调用global,但它不起作用。到目前为止,我发现的唯一方法是将变量写入会话,然后我可以随时随地访问它。虽然这确实有效,但我认为它效率低下。我认为每次渲染视图时都向会话写入一个大数组不是一个好主意,因为它并不总是需要。
有没有一种方法可以将数据分配给模型中的变量,该变量在对象实例之外可用,以便我可以做到这一点?
【问题讨论】:
-
为什么要把这个值赋给Model。跟型号有关系吗?如果你在这里显示一些代码会更好。不必严格遵守默认文件结构。您可以创建所需的任何文件和目录。以及这些文件中的类。您可以在这些类中实现您需要的任何逻辑,包括 setter/getter。
-
是的,与型号有关。我想在何时从多个模型中导出,我希望通过超类中的 Model.variable 引用它们