我有实体:
abstract class AbstractEntity
{
private $someField;
}
/**
* ...
* @ORM\Entity(repositoryClass="ConcreteEntityRepository")
*/
class ConcreteEntity extends AbstractEntity
{
private $otherField;
}
class ConcreteEntityRepository extends EntityRepository
{
public function getSomething()
{
$qb = $this->getEntityManager()->createQueryBuilder()
->select('t')
->from('MyBundle:ConcreteEntity', 't');
$result = $query->getResult();
}
}
结果将是正确的字段数,但父类的值将为null。 我怎样才能正确获取所有字段?
当我尝试使用时:
->select('t.someField') // Error
->select('t.otherField') // Good
答案 0 :(得分:1)
我的猜测是你不能在抽象类中使用私有属性。尝试使用受保护的。
文档也是如此:http://docs.doctrine-project.org/en/latest/reference/inheritance-mapping.html。