我正在开发一个带有ZF2和Doctrine的应用程序,该应用程序有2个MySQL表(以及相关的Doctrine实体):
- 读数(包含从传感器接收的值列表)
- 传感器(包含传感器的定义、配置方式等)
在我的应用程序中,我有一个按日期顺序列出Readings实体中的值的视图。其中一列"r_value"需要使用存储在传感器表中的公式进行转换。如果我能从Sensors表中检索到合适的值,我就可以制作一个快速函数(getConvertedValue())来返回格式合适的数据。
我想做什么
在我看来,我想用调用$row->getRValue()
的方式调用$row->getConvertedValue()
我的问题是
- 定义getConvertedValue()函数的正确方法是什么
- 它应该位于哪里(在我的Readings实体中,在扩展实体的存储库中等)
如果这是一个基本问题,很抱歉,但我似乎找不到一个明确的例子。
您应该将函数放置在Readings实体中:
<?php
class Readings
{
public function getConvertedValue()
{
$formula = $this->getSensor()->getFormula();
$value = $this->getRValue();
// Calculate $result using the formula
return $result;
}
}
我假设从Readings实体到Sonsors实体是一个*-to-one的关系。