bears: Спасибо, это именно то решение, которое было мне нужно и которое я сразу написал, но никак не мог вкурить, что не так) Ошибка была в БД, а точнее в дублировании опций и я все спутал) Спасибо за помощь
bears: Смотрите, между Product и Options реализована связь "многие ко многим", так как у каждого товара может быть куча свойств, но эти свойства могут повторяется у других товаров. К примеру возьмите смартфоны и их свойства (разрешения, процессоры etc). Собственно мне нужно сделать так, что бы на страничке выводились все возможные свойства смартфонов и что бы конечный пользователь мог искать нужные по фильтрам.
Собственно в этом вся суть, достать все Option, которые относятся к определенной Category, при этом, что бы они имели в себе distinct values. Надеюсь понятно :)
Я наверно не совсем ясно написал вопрос. Есть сущности Option и Product. Их связь многое ко многим характерезует третья сущность ProductsOptionsValues, в которой хранится value опций.
Так я так и реализовал, в конце кода можете увидеть. Я не очень понимаю почему с каждой итерацией увеличивается количество потребляемой оперативной памяти :)
soulness: Я переформулирую :) Сильно медленнее будет использование третей таблицы в качестве отдельной сущности?
К тому же моя таблица все равно не является корректной, так как должна характеризовать собой связи только между двумя сущностями. А в моем случае получается аж 3 свзяи products > categories, features > categories, groups > categories