如何解决doctrine2可以从数组中水合新实体吗?
| 我认为标题要求一切。很简单,我有一个实体:class User {
private $id;
private $name;
private $username;
}
与所有合适的二传手和吸气剂。我有一个数组:
array( \'name\' => \'joe\',\'username\' => \'shmoe\' );
我希望能够做这样的事情:
Some\\Unknown\\Doctrine\\Object::hydrateFromArray($array);
显然,创建一个为对象水合的函数会很容易,但是,一定要有一定的理论来实现这一目标吗?
解决方法
弄清楚了。
给定一个存储库:
//for odm
$repo->getDocumentManager()->getHydratorFactory()->hydrate($entity,$array);
我不知道是否可以对ORM进行同样的操作,但是我目前正在使用ODM。
, 与实体一样,由您决定创建setter和getter。
class User
{
private $id;
private $name;
private $username;
public function fromArray($array)
{
// Code to fill the object here.
}
}
也没有什么说不能在构造函数中实现的。请记住,Doctrine 2实体不会从主类继承任何东西,除非您自己做。它只是作用于它。
, 您可以使用序列化器组件:
$user = $serializer->deserialize($data,\'Namespace\\User\',\'json\');
http://symfony.com/doc/current/components/serializer.html#deserializing-an-object
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。