Uw probleem is dat u één veld uit de categorie-entiteit probeert te selecteren terwijl u tegelijkertijd het volledige object van de samengevoegde categorie-entiteit selecteert. In tegenstelling tot gewone SQL, kunt u met de QueryBuilder-component niet alleen een entiteit selecteren uit de tabel waaraan u deelneemt.
Als u uw hoofdcategorieobject wilt retourneren met de samengevoegde onderliggende items, kunt u ofwel ->select(array('c', 'cc'))
doen , of laat gewoon de ->select()
. weg helemaal bellen. De eerste selecteert automatisch de kinderen die u nodig hebt in een enkele zoekopdracht. De laatste vereist een andere SQL-query als u toegang wilt tot kinderen op de hoofdcategorie-entiteit.
Als er een reden is waarom je name
. wilt om te selecteren als title
in uw object kunt u altijd een andere functie aan uw entiteit toevoegen die een alias is om de naam op te halen in plaats van deze in uw query te moeten schrijven:
function getTitle()
{
return $this->getName();
}