0

我有实体:

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();
    }
}

结果将具有正确的字段计数,但父类的值将为空。如何正确获取所有字段?

当我尝试使用时:

->select('t.someField') // Error

->select('t.otherField') // Good
4

1 回答 1

1

我的猜测是您不能在抽象类中使用私有属性。尝试使用受保护的。

文档也是如此:http ://docs.doctrine-project.org/en/latest/reference/inheritance-mapping.html 。

于 2013-08-26T12:41:03.780 回答