Извините, название не может быть более информативным. Я до сих пор не знаю названия того, с чем я имею дело.
Я разрабатываю поисковую систему для сайта недвижимости, и она работаетпока я не понял, что забыл принять во внимание, что некоторые из моих полей (которые используются в качестве фильтров на странице поиска) могут иметь несколько значений.Я имею в виду, что у меня было только одно поле для продажи и аренды и только одно поле для жилой и коммерческой недвижимости (и других областей) - проблема в том, что недвижимость может быть для продажи или аренды или может быть жилой, коммерческойи промышленный.
То, что я думал, я бы сделал, это перенесу их на свой стол.Дело в том, что у меня есть еще одна таблица, в которой перечислены возможные значения для каждого поля, которая используется для отображения имен значений, заполнения форм, использования в качестве ограничений и т. Д.
Так что теперь я застрял с множествомтаблиц.
Таблица для свойств, затем таблицы для значений, затем таблицы, которые присоединяют эти значения к свойствам.
Простой поисковый запрос без фильтров (больше фильтров, больше объединений) IУ меня 7 внутренних объединений.
Мне очень трудно заставить объединения работать как для ограничения результатов, так и для возврата значений в части запроса SELECT.
Буду признателенлюбые предложения, поскольку эта проблема оставила меня психически утомленным в течение последних 2 дней.
РЕДАКТИРОВАТЬ:
У меня есть следующие таблицы на данный момент:
свойстваproperties_imagesproperties_listingsproperties_optionsproperties_purposesres_geo_addressres_geo_citiesres_geo_neighborhoodsres_geo_statesres_property_optionsres_property_type_ageres_property_type_listingres_property_type_propertyres_property_type_purposeres_property_type_purpose_property
Таблица свойств - это главная таблица свойств, содержащая несколько столбцов, описывающих свойство.
Таблицы properties_ используются для соединения таблицы свойств и таблиц res_property_ (используется id - одиндля свойства и один для значения) (за исключением изображений, которые просто содержат записи изображений)
Идентификатор списка таблиц res_ и имена значений по большей части.(исключение составляют таблицы res_geo)
На данный момент мои запросы не работают.Честно говоря, я достиг такой запутанности, что мне сложно объяснить мою текущую настройку.
Было бы неплохо, если бы существовал простой способ запроса таблиц с полями, в которых есть массивы, и их легко получить.
РЕДАКТИРОВАТЬ 2:
На изображении выше показано одно из объединений.Как бы я мог запросить свойство, всегда извлекать конкат всех имен листингов, связанных с ним, но при желании ограничивать свойства определенной группой идентификаторов листингов?