Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 29.03.2018 13:21:12

связать 2 таблицы

Ситуация такая. храню в таблице объектов несколько id разных значений, а в другой таблице их характеристики.
Пример. таблица Flat и поля санузел,балкон,тип дома и т.д. Они все имеют список своих значений,которые храню в другой таблице в виде id категория название краткое название.
Необходимо соответственно в выводимом списке  объектов,вывести и их характеристики. не хочу выносить все  значения  в разные таблицы типа Балконы Санузлы и тд,потому что их несметное кол-во)
и вот мой вопрос. как правильно связать эти 2 таблицы,если по сути у Flat несколько внешних ключей получается в зависимости от того,какое значение я хочу взять. может есть какие-то практики с таким подходом или посоветуете как сделать лучше?
хочется обратиться что-то вроде flat->label->id->title и получить название нужно поля вне зависимости от того, хочу я получить балкон или тип дома, у всех значений свой id.

Не в сети

#2 30.03.2018 05:45:37

Re: связать 2 таблицы

Если я всё правильно понял должно быть примерно так:
GZNimEY.jpg
Нужна связь многие ко многим (реализуется в промежуточной таблице design), потому что неизвестно точно сколько будет "мебели" в квартире. Мебель - это отдельная сущность, а не свойство квартиры.
Сделаешь по другому и будет избыточная база данных. И еще к примеру ванны могут быть от разных производителей, но сделаны из тех же самых материалов и по весу одинаковые. То есть зачем хранить в базе дублированную информацию?! И так далее, и так далее. Может быть мою модель можно еще усовершенствовать.

Изменено Butirator (30.03.2018 05:56:17)

Не в сети

Подвал раздела