Трудно сказать, не зная точно, как определена ваша схема (т.е. schema.yml), но я думаю, что это сработает, если вы загрузите объект content
:
$tags = $content->Tags;
В противном случае ваш фрагмент кода должен работать, насколько я могу судить. Вам просто нужно вставить ->exec()
в конце, чтобы он возвращал результаты запроса, а не сам объект запроса:
return Doctrine_Core::getTable('Tag')
->createQuery('t')
->select('t.name, t.slug')
->leftJoin('t.ContentTag ct')
->where('ct.content_id = ?', $id)
->orderBy('t.name ASC')
->exec();
Редактировать После просмотра вашей схемы кажется, что вы не создали отношения между контентом и тегами, что вам необходимо сделать. Вы можете позволить Доктрине управлять их взаимодействием. Книга Symfony and Doctrine использует нечто, по существу идентичное вашему примеру, чтобы продемонстрировать , как установить отношение «многие ко многим» . (Обратите внимание, что, хотя этот документ относится к устаревшей версии Symfony, синтаксис этой функции не изменился.)