Вашият проблем е, че се опитвате да изберете едно поле от обекта Категория, като едновременно с това избирате целия обект на присъединения обект Категория. За разлика от обикновения SQL, с компонента QueryBuilder не можете да изберете обект само от таблицата, към която се присъединявате.
Ако искате да върнете основния си обект Category с присъединените деца, можете да направите или ->select(array('c', 'cc'))
, или просто пропуснете ->select()
обадете се напълно. Първият автоматично ще избере децата, от които се нуждаете, в една заявка. Последното ще изисква друга SQL заявка, ако искате да получите достъп до деца в основния обект на категорията.
Ако има причина да искате name
за да изберете като title
във вашия обект винаги можете да добавите друга функция към вашия обект, която е псевдоним за извличане на името, вместо да се налага да го пишете в заявката си:
function getTitle()
{
return $this->getName();
}