所以我有两个对象。
class Product extends DataMapper
{
var $has_many = array('productrating');
public $averageRating = null;
function __construct($id = NULL)
{
parent::__construct($id);
echo "my id: " . $this->id;
}
}
和
class ProductRating extends DataMapper
{
var $table = "product_ratings";
var $has_one = array('product');
function __construct($id = NULL)
{
parent::__construct($id);
}
}
我最终想要完成的是Product->$averageRating
使用基于与 ProductRatings 的 FK 关系的平均评级来填充属性。
我的第一个想法是访问关系,根据 ProductRating 行数进行数学运算,然后在构造函数中填充属性。但是我什至在访问构造函数中的对象时遇到了问题。这让我相信我可能会以错误的方式解决这个问题。如何使用 DataMapper 实现这一点?
我知道数学可以在视图页面中完成,但如果可能的话,我真的很想将它保留在模型中。