如何在CakePHP版本中创建“虚拟字段”。 1.2

时间:2011-01-19 04:59:46

标签: php cakephp model pagination virtual

以下只是我的问题的一个可以理解的例子

“我有一个名为' homes '的表链接到模型' Home ',其字段为 id,title,price。

我想创建一个名为'calculated_price'的虚拟字段,该虚拟字段基于一些复杂的计算,根据特定记录的搜索条件,这些计算因用户而异。

之后我想使用

对模型' Home '进行分页
$this->paginate('Home',array('order'=>'calculated_price ASC'));

我有一个正在进行的增强项目,它使用Cake版本1.2,不支持Cake Ver 1.3支持的'virtual_field'概念

所以请为此提供解决方案....

我如何分页& 'order by'使用cakephp动态创建的字段$ this-> paginate();

如何/我们可以调整蛋糕1.2来支持蛋糕1.3的虚拟场概念吗?还是有更好的解决方案吗?

2 个答案:

答案 0 :(得分:0)

如果在每个可视化的运行时进行计算,为什么不使用$this->set('calulated_price'=>calculated_price);

答案 1 :(得分:0)

唯一的解决方案:

在users表中创建一个“非虚拟”字段,您可以通过模型回调方法计算价格,例如afterSave()