内容简介:我对Doctrine model hydrate()方法有一点问题.我使用这种方法从给定的数组中水合一个conrete模型的对象,如下所示:使用嵌套的子模型对简单物体进行保湿时,一切都很完美.现在的问题是我需要使用嵌套对象来水合(使用此方法)一个对象(其中一些对象也有嵌套对象).如果我使用HYDRATE_RECORD就可以了,但查询中的所有记录都将作为对象返回,这意味着更多的内存消耗.因此,我正在使用HYDRATE_ARRAY并按需将具体数组水合成一个对象.
我对Doctrine model hydrate()方法有一点问题.我使用这种方法从给定的数组中水合一个conrete模型的对象,如下所示:
$model = new Doctrine\Model\Model; $model->hydrate($model_array);
使用嵌套的子模型对简单物体进行保湿时,一切都很完美.现在的问题是我需要使用嵌套对象来水合(使用此方法)一个对象(其中一些对象也有嵌套对象).
如果我使用HYDRATE_RECORD就可以了,但查询中的所有记录都将作为对象返回,这意味着更多的内存消耗.因此,我正在使用HYDRATE_ARRAY并按需将具体数组水合成一个对象.
假设我有一个模型A,它有嵌套模型AB,AC(一对多),AD和AC有另一个嵌套模型ACE.在A数组的print_r之后,我们可以看到这个结构:
A Array ( ... ab Array ( ... ) ac Array ( AC Array ( ... ace Array ( ... ) ) AC Array ( ... ace Array ( ... ) ) ... ) ad Array ( ... ) )
通常在使用水合物后,我会认为这将是我的目标:
A Object { ... ab Object { ... } ac Array ( AC Object { ... ace Object { ... } } AC Object { ... ace Object { ... } } ... ) ad Object { ... } }
但不是这样,我得到这个结构:
A Object { ... ab Array ( ... ) ac Array ( AC Array ( ... ace Array ( ... ) ) AC Array ( ... ace Array ( ... ) ) ... ) ad Array ( ... ) }
因此只有主模型转换为对象.
您是否了解如何将所有嵌套模型数组转换为假定结果的对象?
不,我在查询数据库时不能使用HYDRATE_RECORD.
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- C语言指针数组和数组指针
- 数组 – 如何在Swift中将数组拆分成两半?
- 菜鸡的算法修炼:数组(旋转数组的最小数字)
- 交换数组元素,使得数组的和的差最小
- JS数组专题1️⃣ ➖ 数组扁平化
- 算法-计算小数组在大数组中的索引
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Ruby on Rails Tutorial
Michael Hartl / Addison-Wesley Professional / 2012-8-6 / USD 44.99
"Ruby on Rails(TM) Tutorial by Michael Hartl has become a must-read for developers learning how to build Rails apps." -Peter Cooper, Editor of Ruby Inside Using Rails, developers can build web applica......一起来看看 《Ruby on Rails Tutorial》 这本书的介绍吧!