从数据库检索后,确保Symfony2实体属性类型正确
我有一个Symfony2实体,它具有给定类类型的非标量属性。属性可以安全地转换为字符串,这就是它在数据库中持久化的方式 从数据库检索此实体的实例时,属性的getter将返回一个字符串,而不是预期类的对象 以下是一个通用示例实体:从数据库检索后,确保Symfony2实体属性类型正确,symfony,doctrine-orm,entity,Symfony,Doctrine Orm,Entity,我有一个Symfony2实体,它具有给定类类型的非标量属性。属性可以安全地转换为字符串,这就是它在数据库中持久化的方式 从数据库检索此实体的实例时,属性的getter将返回一个字符串,而不是预期类的对象 以下是一个通用示例实体: <?php namespace Acme\ExampleBundle\Entity; class ExampleEntity { /** * @var \example\ComplexObject * @\Doctri
<?php
namespace Acme\ExampleBundle\Entity;
class ExampleEntity
{
/**
* @var \example\ComplexObject
* @\Doctrine\ORM\Mapping\Column(type="string")
*/
protected $property;
/**
* @param \example\ComplexObject $property
* @return \ExampleEntity
*/
public function setProperty(\example\ComplexObject $property) {
$this->property = $property;
return $this;
}
/**
* @return \example\ComplexObject
*/
public function getProperty() {
return $this->property;
}
}
您应该为此使用自定义映射类型。请参阅有关如何实现这些功能的详细信息。特别是查看convertToPHPValue()
和convertToDatabaseValue()
方法。您应该为此使用自定义映射类型。请参阅有关如何实现这些功能的详细信息。特别是看一下convertToPHPValue()
和convertToDatabaseValue()
方法。可能与延迟加载doctrineIs对象是一个实体还是另一个类有关?@Flosculus它是另一个类,或者可能与延迟加载doctrineIs对象是一个实体还是另一个类有关?@Flosculus它是另一个类