假设我们有 Collection 类Product
。产品有多个附加变体。假设每个变体都有name和price。
class ProductVariant
{
public $name;
public $price;
}
/*
* @property string $name
* @property ProductVariant[] $variants
*/
class Product extends \Phalcon\Mvc\Collection
{
}
然后我们创建一个产品并保存它:
$variant1 = new ProductVariant();
$variant2 = new ProductVariant();
$variant1->name = '...';
$variant2->name = '...';
$product = new Product();
$product->name = '...';
$product->variants = array($variant1, $variant2);
$product->save();
模型被序列化并保存在 MongoDB 中,没有关于ProductVariant
. 当然,当我们从数据库中检索这个产品时,我们会得到数组数组而不是数组ProductVariant
。
有没有一种简单的方法可以覆盖 Phalcon ODM 解析并使其将某些属性解析为对象(或对象数组)?
你怎么处理这样的案子?