【发布时间】:2016-11-14 14:07:08
【问题描述】:
假设我们有 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 解析并使其将某些属性解析为对象(或对象数组)?
你如何处理这种情况?
【问题讨论】:
标签: php arrays mongodb phalcon phalcon-orm