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

結果は正しいフィールド数になりますが、親クラスの値は null になります。すべてのフィールドを正しく取得するにはどうすればよいですか?

そして、私が使用しようとすると:

->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 に答える