エンティティの関連性があり、エンティティを取得するためにdqlクエリを定義する必要があります。関連エンティティを結合するDQL
MAIN ENTITY
class proyectosSubsecciones
{
...
/**
* @ORM\Id
* @ORM\ManyToOne(targetEntity="app\SubseccionesBundle\Entity\Subsecciones")
* @ORM\JoinColumn(name="id_subseccion", referencedColumnName="id")
*/
private $subseccion;
/**
* @ORM\Id
* @ORM\ManyToOne(targetEntity="app\ProyectosBundle\Entity\Proyectos")
* @ORM\JoinColumn(name="id_proyecto", referencedColumnName="id")
*/
private $proyecto;
....
関連のエンティティ私は種類の異なった実体取得する必要が
class subsecciones
{
...
/**
* @ORM\ManyToOne(targetEntity="app\SeccionesBundle\Entity\Secciones")
* @ORM\JoinColumn(name="id_seccion", referencedColumnName="id",nullable=false)
*/
private $seccion;
...
"アプリを\ SeccionesBundleエンティティ\ Secciones \" それぞれの「アプリ\からProyectosBundle \ Entity \ Proyectos "
のような質問をしています
$consulta=$em->createQuery('
SELECT DISTINCT sc
FROM ProyectosSubseccionesBundle:ProyectosSubsecciones p
JOIN p.subseccion s WITH s.id=p.subseccion
JOIN s.seccion sc WITH sc.id=s.seccion
WHERE p.proyecto= :id
');
$consulta->setParameter('id', $id_proyecto);
$subsecciones=$consulta->getResult();
私はというエラーを取得:
しかし、私は唯一のsc.Anyのアイデアからのデータを必要とする「とは、少なくとも1つのルートエンティティの別名を選択せずに識別変数を通してエンティティを選択することはできませんか」? ? ProyectosSubseccionesRepository
で
のような基準を結ぶ上で別のフィルタを追加したい場合は、「SC」からのデータが必要な場合はProyectos&Secciones –
の定義を共有してください - 「DISTINCT SCを選択」を書きます。なぜそれは "SELECT DISTINCT ss"ですか? "ss"とは何ですか? –