エンティティがあります
<?php
namespace Proj\Bundle\MyBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
/**
* ClassTop
*
* @ORM\Table()
* @ORM\Entity(repositoryClass="Proj\Bundle\MyBundle\Repository\ClassTopRepository")
* @ORM\InheritanceType("SINGLE_TABLE")
* @ORM\DiscriminatorColumn(name="aVal", type="string")
* @ORM\DiscriminatorMap({ "ValOne" = "ClassSubOne", "ValTwo" = "ClassSubTwo", "ValThree" = "ClassSubThree" })
*
*/
class ClassTop
{
.....
}
class ClassSubOne extends ClassTop
{
....
}
class ClassSubTwo extends ClassTop
{
....
}
class ClassSubThree extends ClassTop
{
....
}
私の問題は、find()
(またはfindOneBy
、findAll
など) メソッドを呼び出すと、Oracle エラーが発生することです。
$entityManager->getRepository('ProjMyBundle:ClassSubOne')->findAll()
私が持っているクエリで
SELECT field, field2 FROM CLASSTOP WHERE aVAL IN ()
識別子の値"ValOne"
はマッピングされておらず、Doctrine に渡されません。
どんな助けでも大歓迎です。