У меня есть следующая структура таблицы (статьи, категории, отношения):
articles
>id
>title
>body
cats
>id
>title
cat_article_relations
>id
>cat_id
>article_id
Теперь я создал страницу, на которой пользователь может выбрать одну или несколько категорий (с помощью флажков). После отправки формы поиска у меня есть массив со всеми выбранными идентификаторами категорий. Теперь моя проблема возникает, когда я пытаюсь загрузить все статьи со всеми выбранными категориями.
Когда используешь:
...
->leftJoin('a.Cat_article_relations rl')
->andWhere('rl.cat_id = ?', $sg[0])
...
Это работает, потому что я ищу только одну включенную категорию. Как только я добавлю несколько "->andWhere" с циклом по всем идентификаторам моей категории (в массиве, который я получил), он больше не будет работать. Я проверил документацию по Doctrine 1.2 в поисках какого-либо решения, но ничего не нашел. «->whereIn» и подобные не дают результатов, которые я хочу.
Я только хочу получить все статьи, которые связаны со всеми выбранными категориями. Может кто подскажет :)
Информация. Если у вас есть решение для чистого запроса MySQL, мне оно тоже очень поможет. Его не обязательно писать с помощью Doctrine.
Спасибо
whereIn
неверно в данном случае? - person j0k   schedule 04.07.2012