Я хочу получить записи, связанные с детьми выбранной категории.
Например, у нас есть дерево категорий, подобное этому:
Главный:
Дети: (Родительский идентификатор не может быть пустым! В этом примере: Родительский идентификатор = 1)
И у нас есть сущность (запись в БД), подобная этой:
id = 1, category_id = 2, title = This records must belong to ORANGE category!
Когда мы выбираем категорию Fruit из базы данных, я должен получить объекты, связанные с самим Fruit и его дочерними категориями.
Что я пробовал?
$qb
->select('i.id, i.title, i.slug, i.created_at, c.file')
->from('CSImageBundle:Image', 'i')
->leftJoin('i.taxonomies', 'tx')
->leftJoin('tx.children', 'st')
->where($qb->expr()->in('tx.id', 'st.id'));
Не удается …
Что я должен попробовать?
Трудно сказать без сообщения об ошибке, но, похоже, проблема в вашем выборе, где находится c.file?
$qb
->select('i.id, i.title, i.slug, i.created_at, c.file') //should this be i.file? or tx.file? or st.file?
->from('CSImageBundle:Image', 'i')
->leftJoin('i.taxonomies', 'tx')
->leftJoin('tx.children', 'st')
->where($qb->expr()->in('tx.id', 'st.id'));
Других решений пока нет …