Без реляционных бд
По разному в зависимости от типа
Типо открываешь айтем, а там много разных фоток его?
Ну самое лёгкое как по мне будет связать sql бд с ведром и допустим в колонке photos таблицы items (товары) хранить json массив с айди фоток в ведре. Я бы так сделал
Открываю карточку товара в озоне, и у одного товара можно выбрать цвет&размера. Другой товар предоставляет только выбор размера + у обоих разное описание и все остальное отличающиеся. При этом, третий товар не имеет ни того, ни другого а у него что-то другое выбирается(например модель, idk).
Ну вот корневой айтем таблицы Products в нем пускай храниться айди автора, время создания, там ссылки на автора и т.д, стандартный корень, от него идут один ко многим к таблице Products_branches, типо ветки товара если есть выбор, тут уже пускай будет различие в ветках, допустим футболка, одна ветка на S размер, вторая на L, третья на M… И так сколько угодно, тут уже описание, цена для каждого свое и т.д, и различия веток сам задаешь. В итоге логика api будет такая получение корневого продукта по id => отрисовка авы автора, никнейма магазина, весь Стафф что лежит в корню => получение веток => если ветка 1, то отрисовываем как товар без выбора размеров, качества и т.д и используем первую ветку для описания => если веток две и больше, то отрисовываем сначала первую также как и в шаге назад (../) => готовим к отрисовке все остальные кроме первой ветки => добавляем кнопки выбора различий веток. Вуаля. Если сильно надо могу на графике отобразить. Я бы так сделал короче
Ну да, а в чем проблема? На фронте добавим кнопку для веток, если нажимаем, то добавляем все кнопки, если нет, то оставляем незаполненными
Ну хочешь создай табличку Products_branches… для хранения кнопок, если одна ветка то не добавляешь, если две и больше то добавляешь просто ссылкой на кнопку в таблице
А вообще там насколько я помню (сегодня заказывал) чисто текст храниться
Обсуждают сегодня